Description
string
ereg_replace ( string pattern, string replacement, string string )
ereg_replace() 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.
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.)
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 n-ième
parenthèse capturante. \\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.
Si aucune occurrence n'est trouvée, la chaîne
string sera retournée intacte.
Par exemple, le code suivant affiche "Ceci est un test"
trois fois :
Exemple 1. Exemple avec ereg_replace()
<?php
$string = "Ceci fut un test"; echo str_replace(" fut", " est", $string); echo ereg_replace("( )fut", "\\1est", $string); echo ereg_replace("(( )fut)", "\\2est", $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 = "Cette chaîne a quatre mots."; $string = ereg_replace('quatre', $num, $string); echo $string; // Cette chaîne a mots.
/* Ceci fonctionne comme attendu */ $num = '4'; $string = "Cette chaîne a quatre mots."; $string = ereg_replace('quatre', $num, $string); echo $string; // Cette chaîne a 4 mots. ?>
|
|
Exemple 3. Remplacer les URL par des liens cliquables
<?php $text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $text); ?>
|
|
Astuce :
preg_replace(), qui utilise la syntaxe des expressions
rationnelles compatibles PERL, est une alternative plus rapide de
ereg_replace().
Voir aussi
ereg(),
eregi(),
eregi_replace(),
str_replace() et
preg_match().