ereg_replace
(PHP 4, PHP 5)
ereg_replace — >Remplacement par expression rationnelle
Description
$pattern
, string $replacement
, string $string
)
Cette fonction effectue une recherche par expression rationnelle dans la chaîne
string
en recherchant les occurrences de
pattern
, puis les remplace par la chaîne
replacement
.
Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.
Liste de paramètres
-
pattern
-
Une expression rationnelle POSIX.
-
replacement
-
Si
pattern
contient des parenthèses capturantes,replacement
pourra contenir des séquences de la forme \digit, qui seront remplacées par le texte capturé par la parenthèse capturante numéro digit. \0 correspond à la chaîne originale complète. De 0 à 9 parenthèses capturantes peuvent être utilisées. Les parenthèses peuvent être imbriquées, et leur numéro d'ordre est défini par leurs parenthèses ouvrantes. -
string
-
La chaîne d'entrée.
Valeurs de retour
La chaîne modifiée est retournée. (Ce qui signifie que la chaîne originale sera retournée si aucune occurrence n'est trouvée.)
Exemples
Par exemple, le code suivant affiche "Ceci est un test" trois fois :
Exemple #1 Exemple avec ereg_replace()
<?php $string = "This is a test"; echo str_replace(" is", " was", $string); echo ereg_replace("( )is", "\\1was", $string); echo ereg_replace("(( )is)", "\\2was", $string); ?>
Il est à noter que si vous utilisez une valeur entière avec
replacement
, vous n'obtiendrez pas le résultat
escompté, car ereg_replace() interprétera le nombre
comme la valeur ordinale d'un caractère et l'appliquera. Par exemple :
Exemple #2 Exemple avec ereg_replace()
<?php /* Ceci ne fonctionne pas comme attendu */ $num = 4; $string = "This string has four words."; $string = ereg_replace('four', $num, $string); echo $string; /* Affiche : 'This string has words.' */ /* Ceci fonctionne comme attendu */ $num = '4'; $string = "This string has four words."; $string = ereg_replace('four', $num, $string); echo $string; /* Affiche : 'This string has 4 words.' */ ?>
Exemple #3 Remplacer les URL par des liens cliquables
<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
'<a href="/manuel-php/\\0\" data-lbox="1" title="Manuel PHP - \\0">\\0</a>', $text);
?>
Notes
Note:
À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type
E_DEPRECATED
. Voir la liste des différences pour vous aider dans la conversion en PCRE.
ereg_replace() est obsolète depuis PHP 5.3.0. Utilisez plutôt preg_replace().
Voir aussi
- ereg() - Recherche par expression rationnelle standard
- eregi() - Recherche par expression rationnelle insensible à la casse
- eregi_replace() - Remplacement par expression rationnelle insensible à la casse
- str_replace() - Remplace toutes les occurrences dans une chaîne
- preg_replace() - Rechercher et remplacer par expression rationnelle standard
- quotemeta() - Protège les métacaractères