La funzione str_replace di PHP รจ utilizzata per sostituire tutte le occorrenze di una stringa all’interno di un’altra stringa. Questa funzione รจ molto versatile e puรฒ essere applicata a vari scenari di manipolazione delle stringhe.
Indice
La sintassi di str_replace()
La sintassi della funzione รจ la seguente:
str_replace(cerca, sostituisci, dove_cercare)
Vediamo un esempio:
echo str_replace("mela", "pera", "Paolo mangia la mela");
L’output prodotto sarร :
Paolo mangia la pera
Nell’esempio sopra, la stringa “mela” viene cercata all’interno della stringa “Paolo mangia la mela” e sostituita con la parola “pera”. Il risultato finale รจ “Paolo mangia la pera”.
Sostituzioni multiple con str_replace()
La funzione str_replace puรฒ accettare anche array come argomenti per effettuare sostituzioni multiple in una sola chiamata. Vediamo un esempio:
$testo = "I miei amici Luca, Paolo e Claudio sono al mare";
$cerca = array("Luca", "Paolo", "Claudio");
$sostituisci = array("Max", "Roberto", "Alex");
echo str_replace($cerca, $sostituisci, $testo);
L’output restituito sarร :
I miei amici Max, Roberto e Alex sono al mare
In questo caso, la funzione ha sostituito ogni nome all’interno dell’array $cerca
con il corrispondente nell’array $sostituisci
.
Differenze tra str_replace() e str_ireplace()
ร importante notare che str_replace รจ case-sensitive, ossia distingue tra maiuscole e minuscole. Ad esempio:
echo str_replace("mela", "pera", "Paolo mangia la Mela");
In questo caso, la stringa “Mela” con la “M” maiuscola non verrร sostituita, e l’output sarร :
Paolo mangia la Mela
Se si desidera effettuare sostituzioni senza distinguere tra maiuscole e minuscole, si puรฒ utilizzare la funzione str_ireplace(), che funziona in modo analogo ma non รจ case-sensitive. Esempio:
echo str_ireplace("mela", "pera", "Paolo mangia la Mela");
L’output sarร :
Paolo mangia la pera
Esempi pratici di utilizzo di str_replace()
Sostituzione con una stringa vuota
Se desideri eliminare una specifica stringa o carattere dalla tua stringa di origine, puoi sostituirlo con una stringa vuota. Ad esempio:
$text = "Questo รจ un esempio di testo con una parola indesiderata.";
$nuovo_testo = str_replace("indesiderata", "", $text);
echo $nuovo_testo;
L’output prodotto sarร :
Questo รจ un esempio di testo con una parola.
Sostituzione di testo in una stringa multilinea
La funzione str_replace puรฒ essere utilizzata per sostituire del testo anche in una stringa che contiene piรน righe. Ad esempio:
$text = "Questo รจ un esempio di testo.\nPuรฒ contenere piรน righe.\nSostituiamo la parola 'righe' con 'linee'.";
$nuovo_testo = str_replace('righe', 'linee', $text);
echo $nuovo_testo;
L’output sarร :
Questo รจ un esempio di testo. Puรฒ contenere piรน linee. Sostituiamo la parola 'linee' con 'righe'.
Sostituzione di caratteri speciali
La funzione str_replace puรฒ essere utilizzata per sostituire caratteri speciali o escape sequence all’interno di una stringa. Ad esempio, per sostituire il carattere di nuova linea (“\n”) con uno spazio, puoi fare:
$text = "Questa\nรจ\nuna\nstringa\ncon\nnuove\nlinee";
$nuovo_testo = str_replace("\n", " ", $text);
echo $nuovo_testo;
L’output sarร :
Questa รจ una stringa con nuove linee
In questo esempio, il carattere di nuova linea “\n” รจ stato sostituito con uno spazio, creando cosรฌ una stringa senza interruzioni di riga.
Utilizzo di array associativi per sostituzioni personalizzate
Quando si desidera effettuare sostituzioni personalizzate basate su valori specifici, รจ possibile utilizzare un array associativo come argomento per la funzione str_replace. Ad esempio:
$text = "Il prezzo del prodotto รจ {prezzo} โฌ.";
$replacements = array('{prezzo}' => '19.99');
$nuovo_testo = str_replace(array_keys($replacements), array_values($replacements), $text);
echo $nuovo_testo;
L’output prodotto sarร :
Il prezzo del prodotto รจ 19.99 โฌ.
In questo esempio, la variabile {prezzo}
all’interno della stringa รจ stata sostituita con il valore 19.99
.