En PHP, il n’existe pas une fonction unique nommée « replace », mais plusieurs fonctions permettent de remplacer des portions de texte ou des motifs dans une chaîne. Voici un tour d’horizon détaillé des principales fonctions de remplacement, leurs variantes, ainsi que des exemples concrets :
1. str_replace et str_ireplace
str_replace
- Description :
Remplace toutes les occurrences d’une chaîne de caractères par une autre dans une chaîne cible. - Syntaxe :
str_replace(mixed $search, mixed $replace, mixed $subject, int &$count = null): mixed
Exemple simple :
<?php
$texte = "Bonjour le monde, bienvenue dans le monde de PHP";
$nouveauTexte = str_replace("monde", "univers", $texte);
echo $nouveauTexte;
// Affiche : "Bonjour le univers, bienvenue dans le univers de PHP"
?>
Astuce :
Le paramètre optionnel $count
peut être utilisé pour récupérer le nombre de remplacements effectués.
<?php
$texte = "un, deux, un, deux";
str_replace("un", "1", $texte, $nombreRemplacements);
echo "Nombre de remplacements : " . $nombreRemplacements; // Affiche : 2
?>
str_ireplace
- Description :
Variante insensible à la casse destr_replace
. - Exemple :
<?php
$texte = "Bonjour le Monde, bienvenue dans LE monde de PHP";
$nouveauTexte = str_ireplace("monde", "univers", $texte);
echo $nouveauTexte;
// Affiche : "Bonjour le univers, bienvenue dans LE univers de PHP"
?>
2. substr_replace
substr_replace
- Description :
Remplace une partie d’une chaîne par une autre chaîne, en se basant sur une position de départ et une longueur. - Syntaxe :
substr_replace(string $string, string $replacement, int $start, ?int $length = null): string
Exemple simple :
<?php
$texte = "Bonjour tout le monde";
// Remplacer "tout" par "à tous"
$nouveauTexte = substr_replace($texte, "à tous", 8, 4);
echo $nouveauTexte;
// Affiche : "Bonjour à tous le monde"
?>
Astuce :
En passant une valeur négative pour $start
, vous pouvez commencer le remplacement à partir de la fin de la chaîne.
<?php
$texte = "PHP est génial";
// Remplacer les 7 derniers caractères par "formidable"
$nouveauTexte = substr_replace($texte, "formidable", -7);
echo $nouveauTexte;
// Affiche : "PHP est formidable"
?>
3. preg_replace et preg_replace_callback
preg_replace
-
Description :
Remplace des motifs correspondant à une expression régulière par une chaîne de remplacement. -
Syntaxe :
-
Exemple simple avec regex :
Remplacer tous les chiffres par le symbole
#
:
En cours de rédaction…