Manuale PHP
Indietro |  | Avanti

# str_replace

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

str_replace -- Sostituisce tutte le occorrenze della stringa cercata con la stringa di sostituzione

## Descrizione

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count] )

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.

Avvertimento

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.

Esempio 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().

Indietro | Partenza | Avanti
str_repeat | Risali | str_rot13