back to top

PHP str_replace() – effettuare sostituzioni all’interno di una stringa

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.

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.

Altri contenuti interessanti

Pubblicità
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Cannot modify header information – headers already sent: come risolvere l’errore PHP

L'errore di PHP cannot modify header information - headers...

Ricavare l’estensione di un file con PHP

Quando si lavora con i file in un'applicazione web,...

GD Library: creazione, manipolazione e ridimensionamento immagini con PHP

Le librerie GD (o GD Library), sono componenti fondamentali...

PHP: impostare il fuso orario italiano

Le tue pagine PHP non mostrano l’orario corretto? Probabilmente...

5 script PHP per gestire BBCode

A volte può aversi l'esigenza di dover offrire agli...
Pubblicità