# Comment utiliser str_replace en PHP

str_replace

La fonction str_replace en PHP permet de remplacer toutes les occurrences d’une chaîne de caractères dans une nouvelle chaîne de caractères. La syntaxe de la fonction str_replace est la suivante :

str_replace($recherche, $remplacement, $chaine, &$count);

Les paramètres de la fonction str_replace sont les suivants :

  • $recherche (string|array): la chaîne de caractères que vous souhaitez remplacer, string ou array pour plusieurs remplacements
  • $remplacement (string|array): la chaîne de caractères par laquelle vous souhaitez remplacer la chaîne $recherche, string ou array pour plusieurs remplacements.
  • $chaine (string|array): la chaîne de caractères dans laquelle vous voulez effectuer le remplacement
  • &$count (&int, optionnel): une référence à une variable peut être envoyée pour y stocker le nombre de remplacements effectués par str_replace.

Voici un exemple d’utilisation de str_replace :

$texte = "Le bateau est bleu et blanc.";
$texte = str_replace("blanc", "rouge", $texte);
echo $texte; // "Le bateau est bleu et rouge."

Remplacement de plusieurs occurrences

str_replace remplace par défaut toutes les occurrences de la chaîne recherchée.

$texte = "Le bateau est bleu et blanc et le ciel est bleu.";
$texte = str_replace("bleu", "noir", $texte);
echo $texte; // "Le bateau est noir et blanc et le ciel est noir."

Remplacement de plusieurs chaînes

Plusieurs remplacements avec la même chaîne

Il est possible de remplacer plusieurs chaînes en une seule fois avec la même chaîne en utilisant la fonction str_replace avec un tableau de string au premier argument et un string au second argument.

$texte = "Le chat est marron. Le ciel est bleu.";
$search = array("marron", "bleu");
$replace = "noir";
$texte = str_replace($search, $replace, $texte);
echo $texte; // "Le chat est noir. Le ciel est noir."

Plusieurs remplacements avec des chaînes différentes

Il est possible de remplacer plusieurs chaînes en une seule fois avec des chaînes différentes en utilisant str_replace avec des tableaux aux premier et deuxième arguments, respectivement $recherche et $remplacement. Le premier élément de $recherche est remplacé par le premier élément de $remplacement et ainsi de suite. Les tableaux $recherche et $remplacement doivent avoir le même nombre d’éléments, sinon les éléments sans correspondance seront remplacés par chaîne vide “”.

$texte = "Le chat est noir et blanc.";
$search = array("chat", "noir", "blanc");
$replace = array("chien", "marron", "beige");
$texte = str_replace($search, $replace, $texte);
echo $texte; // "Le chien est marron et beige."

Comptage du nombre de remplacements

Il est possible de compter le nombre de remplacements qu’a effectué str_replace. Il faut pour cela déclarer au préalable une variable $count, et envoyer cette variable en quatrième argument de str_replace. Sa valeur contiendra le nombre de remplacements réalisés.

$texte = "Le bateau est bleu et blanc et le ciel est bleu.";
$count;
$texte = str_replace("bleu", "noir", $texte, $count);
echo $count; // 2