str_replace
Remplace toutes les occurrences dans une chaîne
&reftitle.description;
mixedstr_replace
mixedsearch
mixedreplace
mixedsubject
intcount
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.
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.
Si search ou replace
sont des tableaux, les éléments sont traités du premier, au dernier.
Exemple avec str_replace
echo $bodytag = str_replace("%body%", "black", "");
// Génère : Bnjr l mnd
$voyelles = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
echo $consonnes = str_replace($voyelles, "", "Bonjour le monde");
// 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");
echo $newphrase = str_replace($regime, $bonne_chere, $phrase);
// 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
// Ordre des remplacements
$str = "Ligne 1\nLigne 2\rLigne 3\r\nLigne 4\n";
$order = array("\r\n", "\n", "\r");
$replace = '
';
// Traitement du premier \r\n, ils ne seront pas convertis deux fois.
$newstr = str_replace($order, $replace, $str);
// Affiche : apearpearle pear
$letters = array('a', 'p');
$fruit = array('apple', 'pear');
$text = 'a p';
$output = str_replace($letters, $fruit, $text);
echo $output;
?>
]]>
¬e.bin-safe;
Cette fonction est sensible à la casse. Utilisez la fonction
str_ireplace pour un remplacement insensible à la
casse.
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.
Voir aussi
str_ireplace,
substr_replace,
preg_replace et
strtr.