(PHP 4, PHP 5)
str_replace — Sostituisce tutte le occorrenze della stringa cercata con la stringa di sostituzione
Questa funzione restituisce una stringa, od una matrice, con tutte le occorrenze
di search
nella stringa subject
sostituite con il valore del parametro replace
. Se non occorrono
particolari capacità di sostituzione (tipo le espressioni regolari), si dovrebbe utilizzare
questa funzione invece di ereg_replace() o
preg_replace().
Dal PHP 4.0.5, ogni parametro di str_replace() può essere una matrice.
Nelle versioni di PHP antecedenti la 4.3.3 esisteva un errore quando si utilizzano
le matrici per search
e replace
che faceva ignorare gli indici vuoti di search
avanzando il puntatore interno di
replace
, questo è stato corretto dal
PHP 4.3.3, ogni script che si basava su questo errore,
per potere simulare il comportamento originale,
dovrebbe rimuovere gli elementi vuoti prima di richiamare questa funzione.
Se subject
è una matrice, allora la ricerca e la
sostituzione sono eseguite su ogni elemento di
subject
, ed il valore restituito è pure una
matrice.
Se search
e
replace
sono matrici, allora
str_replace() prende i valori da ciascuna matrice
e li usa per svolgere la ricerca e la sostituzione in
subject
. Se
replace
ha meno valori di
search
, allora si utilizzeranno delle stringhe vuote
per completare i rimanenti valori da sostituire. Se search
è una matrice e replace
è una stringa, allora
questa stringa di sostituzione sarà utilizzata per ogni valore di
search
. Il contrario non avrebbe
senso.
Example #1 Esempi di uso di str_replace()
<?php
// Provides: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");
// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
// Provides: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");
$newphrase = str_replace($healthy, $yummy, $phrase);
// Use of the count parameter is available as of PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>
Nota: Questa funzione è binary-safe (gestisce correttamente i file binari)
Nota: Dal PHP 5.0.0 il numero di stringhe trovate e e sostituite, sarà restituito nel parametro, passato per riferimento,
count
. Nelle versioni antecedenti al PHP 5.0.0 questo parametro non è disponibile.
Vedere anche: str_ireplace(), substr_replace(), ereg_replace(), preg_replace() e strtr().