Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #22670 > unrolled thread
| Started by | forum <forum@forum.it> |
|---|---|
| First post | 2019-05-07 06:05 +0200 |
| Last post | 2019-05-08 12:26 +0200 |
| Articles | 8 — 4 participants |
Back to article view | Back to it.comp.www.php
rimuovere la parte iniziale di una stringa tramite regex forum <forum@forum.it> - 2019-05-07 06:05 +0200
Re: rimuovere la parte iniziale di una stringa tramite regex Roberto Tagliaferri <tagliaferri@bofhland.org> - 2019-05-07 08:18 +0200
Re: rimuovere la parte iniziale di una stringa tramite regex Leonardo Serni <lserni@gmail.com> - 2019-05-07 08:32 +0200
Re: rimuovere la parte iniziale di una stringa tramite regex forum <forum@forum.it> - 2019-05-07 11:45 +0200
Re: rimuovere la parte iniziale di una stringa tramite regex Alessandro Pellizzari <shuriken@amiran.it> - 2019-05-07 11:13 +0100
Re: rimuovere la parte iniziale di una stringa tramite regex forum <forum@forum.it> - 2019-05-07 13:05 +0200
Re: rimuovere la parte iniziale di una stringa tramite regex Alessandro Pellizzari <shuriken@amiran.it> - 2019-05-07 13:00 +0100
Re: rimuovere la parte iniziale di una stringa tramite regex forum <forum@forum.it> - 2019-05-08 12:26 +0200
| From | forum <forum@forum.it> |
|---|---|
| Date | 2019-05-07 06:05 +0200 |
| Subject | rimuovere la parte iniziale di una stringa tramite regex |
| Message-ID | <qar06q$i2c$1@gioia.aioe.org> |
echo preg_replace( '/^abc\/', '', 'abc\xyz' ); // dovrebbe rimanere solo xyz PHP Warning: preg_replace(): No ending delimiter '/' found Perchè?
[toc] | [next] | [standalone]
| From | Roberto Tagliaferri <tagliaferri@bofhland.org> |
|---|---|
| Date | 2019-05-07 08:18 +0200 |
| Message-ID | <qar85o$1jad$1@gioia.aioe.org> |
| In reply to | #22670 |
forum wrote: > echo preg_replace( > '/^abc\/', > '', > 'abc\xyz' > ); // dovrebbe rimanere solo xyz > > PHP Warning: preg_replace(): No ending delimiter '/' found > > Perchè? Ciao, non capisco un kaiser di regex ma se non sbaglio \ è un carattere di escape, quindi devi scrivere '/^abc\\/' che non da errore ma non ritorna nulla -- Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)tosnet.it www.robyt.eu
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2019-05-07 08:32 +0200 |
| Message-ID | <6i92del48ieg1shrpm6gr34qcmsji1ct77@L.Serni> |
| In reply to | #22670 |
On Tue, 7 May 2019 06:05:47 +0200, forum <forum@forum.it> wrote: >echo preg_replace( > '/^abc\/', > '', > 'abc\xyz' >); // dovrebbe rimanere solo xyz > >PHP Warning: preg_replace(): No ending delimiter '/' found > >Perchè? Perché "\" fa da escape per "/". Se vuoi mettere il simbolo \, devi scriverlo \\ (anche forse nella seconda stringa, per sicurezza; altrimenti, finisce che 'ciccio\riccio' e "ciccio\riccio" sono due stringhe diversissime, cosa che ti può cogliere di sorpresa). Leonardo -- "You all presumably know why" :-) :-(
[toc] | [prev] | [next] | [standalone]
| From | forum <forum@forum.it> |
|---|---|
| Date | 2019-05-07 11:45 +0200 |
| Message-ID | <qark3b$18cu$1@gioia.aioe.org> |
| In reply to | #22672 |
Il 07/05/19 08:32, Leonardo Serni ha scritto:
> On Tue, 7 May 2019 06:05:47 +0200, forum <forum@forum.it> wrote:
>
>> echo preg_replace(
>> '/^abc\/',
>> '',
>> 'abc\xyz'
>> ); // dovrebbe rimanere solo xyz
>>
>> PHP Warning: preg_replace(): No ending delimiter '/' found
>>
>> Perchè?
>
> Perché "\" fa da escape per "/". Se vuoi mettere il simbolo \, devi scriverlo
> \\ (anche forse nella seconda stringa, per sicurezza; altrimenti, finisce che
> 'ciccio\riccio' e "ciccio\riccio" sono due stringhe diversissime, cosa che ti
> può cogliere di sorpresa).
>
> Leonardo
>
$ cat a.php
<?php
echo preg_replace(
'/^abc\\/',
'',
'abc\\xyz'
);
$ php a.php
PHP Warning: preg_replace(): No ending delimiter '/' found in
/tmp/a.php on line 5
Bohhh???
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2019-05-07 11:13 +0100 |
| Message-ID | <gjd41uFml70U1@mid.individual.net> |
| In reply to | #22674 |
On 07/05/2019 10:45, forum wrote:
> echo preg_replace(
> '/^abc\\/',
> '',
> 'abc\\xyz'
> );
> $ php a.php
> PHP Warning: preg_replace(): No ending delimiter '/' found in
> /tmp/a.php on line 5
Usa un delimitatore diverso:
echo preg_replace(
'~^abc\\~',
'',
'abc\\xyz'
);
Bye.
[toc] | [prev] | [next] | [standalone]
| From | forum <forum@forum.it> |
|---|---|
| Date | 2019-05-07 13:05 +0200 |
| Message-ID | <qarop7$1tmb$1@gioia.aioe.org> |
| In reply to | #22675 |
Il 07/05/19 12:13, Alessandro Pellizzari ha scritto: > echo preg_replace( > '~^abc\\~', > '', > 'abc\\xyz' > ); PHP Warning: preg_replace(): No ending delimiter '~' found
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2019-05-07 13:00 +0100 |
| Message-ID | <gjdaacFnvihU1@mid.individual.net> |
| In reply to | #22676 |
On 07/05/2019 12:05, forum wrote:
> Il 07/05/19 12:13, Alessandro Pellizzari ha scritto:
>> echo preg_replace(
>> '~^abc\\~',
>> '',
>> 'abc\\xyz'
>> );
>
> PHP Warning: preg_replace(): No ending delimiter '~' found
Non hai modo di usare un separatore diverso per i dati? :P
Allora, il backspace probabilmente è di escape sia per PHP che per le
regexp, quindi prova a raddoppiarlo due volte:
echo preg_replace(
'~^abc\\\\~',
'',
'abc\\xyz'
);
[toc] | [prev] | [next] | [standalone]
| From | forum <forum@forum.it> |
|---|---|
| Date | 2019-05-08 12:26 +0200 |
| Message-ID | <qauas0$1fci$1@gioia.aioe.org> |
| In reply to | #22677 |
Il 07/05/19 14:00, Alessandro Pellizzari ha scritto: > > echo preg_replace( > '~^abc\\\\~', > '', > 'abc\\xyz' > ); Funziona!!!
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web