str_replace() retourne une chaîne ou un tableau,
dont toutes les occurrences de search dans
subject ont été remplacées par
replace. Si vous n'avez pas besoin de
règles de remplacement compliquées, utilisez cette fonction de
préférence à ereg_replace() et
preg_replace().
Depuis PHP 4.0.5, chaque paramètre de str_replace()
peut être un tableau.
Avertissement
Avant PHP 4.3.3, un bogue existait lors de l'utilisation de tableaux
avec les paramètres search et
replace en même temps. Les index de
search qui étaient vides étaient ignorés, mais le
pointeur interne de replace n'étais pas incrémenté.
Cela a été corrigé en PHP 4.3.3, tout script s'appuyant sur ce bogue,
doit supprimer les entrées vides avant d'appeler cette fonction pour
imiter le comportement d'origine.
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.
Si search et
replace sont des tableaux, alors
str_replace() prendra une valeur de chaque
tableau, et l'utilisera pour faire le remplacement dans
subject. Si
replace a moins de valeurs que
search, alors une chaîne vide sera
utilisée pour effectuer les remplacements. Si search
est un tableau et que replace est une
chaîne, alors la chaîne de remplacement sera utilisée pour chaque
élément de search. Cependant, l'inverse n'aurait
aucun sens.
// Génère : Vous devriez manger des pizzas, des glaces et des gâteaux tous les jours. $phrase = "Vous devriez manger des fruits, des légumes et des fibres tous les jours."; $regime = array("fruits", "légumes", "fibres"); $bonne_chere = array("pizzas", "glaces", "gâteaux");
// Utilisation du compteur d'occurences en PHP 5.0.0 $str = str_replace("a", "", "La disparition est un lipogramme en E.", $count); echo $count; // 3 ?>
Note : Cette fonction gère les chaînes
binaires.
Note :
Depuis PHP 5.0, le nombre de valeurs de search
trouvées et remplacées seront retournées dans le paramètre
count passé par référence.
Avant PHP 5.0.0, ce paramètre n'est pas disponible.