str_replace
Remplace toutes les occurrences dans une chaîne
&reftitle.description;
stringarraystr_replace
arraystringsearch
arraystringreplace
stringarraysubject
intcount&null;
str_replace retourne une chaîne ou un tableau,
dont toutes les occurrences de search dans
subject ont été remplacées par
replace.
Pour remplacer un texte en fonction d'un modèle plutôt qu'une chaîne fixe,
utiliser preg_replace.
&reftitle.parameters;
Si les paramètres search et replace
sont des tableaux, alors la fonction str_replace
prendra une valeur de chaque tableau et les utilisera pour la recherche et
le remplacement sur subject. Si le paramètre
replace a moins de valeurs que le paramètre
search, alors une &string; vide sera utilisée
comme valeur pour le reste des valeurs de remplacement. Si le paramètre
search est un tableau et que le paramètre
replace est une &string;, alors cette &string;
de remplacement sera utilisée pour chaque valeur de search.
L'inverse n'a pas de sens.
Si search ou replace
sont des tableaux, les éléments sont traités du premier, au dernier.
search
La valeur à chercher, autrement connue comme le masque.
Un tableau peut être utilisé pour désigner plusieurs masques.
replace
La valeur de remplacement à substituer aux valeurs trouvées.
Un tableau peut être utilisé pour désigner plusieurs valeurs
de remplacement.
subject
La &string; ou le tableau sur lequel on va effectuer la
recherche et le remplacement, aussi connu sous le nom
de haystack.
Si subject est un tableau, alors le
remplacement se fera sur chaque élément de celui-ci, et
la valeur retournée sera aussi un tableau.
count
Si fournie, cette variable contiendra le nombre de remplacements effectués.
&reftitle.returnvalues;
Cette fonction retourne une chaîne, ou un tableau, contenant les valeurs
remplacées.
&reftitle.examples;
Exemple 1 avec str_replace
$bodytag = str_replace("%body%", "black", "");
echo $bodytag, PHP_EOL;
// Génère : Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
echo $onlyconsonants, PHP_EOL;
// Génère : 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);
echo $newphrase, PHP_EOL;
// Génère : 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count, PHP_EOL;
?>
]]>
Exemple 2 avec str_replace
';
// Traitement du premier \r\n, ils ne seront pas convertis deux fois.
$newstr = str_replace($order, $replace, $str);
echo $newstr, PHP_EOL;
// Affiche F car A est remplacé par B, puis B est remplacé par C, et ainsi de suite...
// Finalement, E est remplacé par F
$search = array('A', 'B', 'C', 'D', 'E');
$replace = array('B', 'C', 'D', 'E', 'F');
$subject = 'A';
echo str_replace($search, $replace, $subject), PHP_EOL;
// Affiche : apearpearle pear
// Pour les mêmes raisons que plus haut
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output, PHP_EOL;
?>
]]>
&reftitle.notes;
¬e.bin-safe;
Ordre de remplacement
À cause du fait que la fonction str_replace
effectue les remplacements de la gauche vers la droite, elle peut
remplacer une valeur précédemment insérée lors de multiples
remplacements.
Cette fonction est sensible à la casse. Utiliser la fonction
str_ireplace pour un remplacement insensible à la
casse.
&reftitle.seealso;
str_ireplace
substr_replace
preg_replace
strtr