Ciao,
ma str_replace() è case sensitive?
Se è così, ed a quanto pare lo è visto che se non cerco esattamente la stringa uguale non rimpiazza, come posso ovviare?
Grazie![]()
Ciao,
ma str_replace() è case sensitive?
Se è così, ed a quanto pare lo è visto che se non cerco esattamente la stringa uguale non rimpiazza, come posso ovviare?
Grazie![]()
someone told me
love would all save us
but how can that be
look what love gave us
In php 5 c'è la funzione str_ireplace.
Puoi comunque ovviare con una preg.
es
$stringa = "casa Casa cane CASA cAsA cavallo";
echo preg_replace("#(?i)casa#",'castello',$stringa);
![]()
Ok apposto!
Mi spieghi per cortesia come funzione quell'espressione?
![]()
someone told me
love would all save us
but how can that be
look what love gave us
il (?i) serve per dire che la sostituzione deve essere case insensitive, cioè indifferente alle maiuscole e minuscole. cerca la parola casa in qualsiasi formato e la sostituisce con castello.Originariamente inviato da stoppy
Ok apposto!
Mi spieghi per cortesia come funzione quell'espressione?
![]()
Attenzione che se la stringa contenesse anche accasato verrebbe sostituita con accastelloto.
Quindi se vuoi limitare la sostituzione alla parola esatta la tua espressione regolare diventerebbe
echo preg_replace("#(?i)\bcasa\b#",'castello',$stringa) ;
dove \b è il delimitatore. La mia 'scienza' sulle espressioni regolari finisce qui.![]()
Va benisismo, basta ed avanza...Originariamente inviato da nicola75ss
La mia 'scienza' sulle espressioni regolari finisce qui.![]()
![]()
someone told me
love would all save us
but how can that be
look what love gave us