7.91 Expressions régulières
7 Index des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Types de ressources . Constantes prédefinies . Exemples . Voir aussi ->ereg_replace . ereg . eregi_replace . eregi . split . spliti . sql_regcase
|
7.91.9 ereg_replace()Remplacement par expression régulière[ Exemples avec ereg_replace ] PHP 3, PHP 4
string
ereg_replace (
string
pattern
,
string
replacement
,
string
string
)
ereg_replace
effectue une recherche par expression
régulière 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 leur parenthèse
ouvrante.
Si aucune occurrence n'est trouvée, la chaîne
string
sera retournée intacte.
Par exemple, le code suivante affiche "Ceci est un test"
trois fois :
Exemple avec ereg_replace |
<?php $string = "Ceci est un test"; echo ereg_replace (" fut", " est", $string); echo ereg_replace ("( )fut", "\\1est", $string); echo ereg_replace ("(( )fut)", "\\2est", $string); ?>
|
Par exemple, le code suivant affiche "Ceci etait un test" trois fois :
Exemple avec ereg_replace |
<?php /* Ceci ne fonctionne pas comme attendu */ $num = 4; $string = "Cette chaîne a quatre mots."; $string = ereg_replace('four', $num, $string); echo $string; /* Affiche : 'Cette chaîne a mots.' */
/* This will work. */ $num = '4'; $string = "Cette chaîne a quatre mots."; $string = ereg_replace('four', $num, $string); echo $string; /* Affiche : 'Cette chaîne a 4 mots.' */ ?>
|
Notez bien que si vous utilisez une valeur de type entier
dans le paramètre de remplacement
replacement
,
vous risquez de ne pas obtenir le résultat escompté. Tout cela
parce que
ereg_replace
va interpréter le nombre
comme la valeur ordinale d'un caractère, et l'utiliser. Par exemple :
Exemple avec ereg_replace |
<?php /* Cet exemple ne fonctionne pas comme voulu. */ $num = 4; $string = "Cette chaîne a quatre mots."; $string = ereg_replace('quatre', $num, $string); echo $string; /* Affichage : 'Cette chaîne a mots.' */
/* Ceci est bon. */ $num = '4'; $string = "Cette chaîne a quatre mots."; $string = ereg_replace('quatre', $num, $string); echo $string; /* Affichage : 'Cette chaîne a 4 mots.' */ ?>
|
Voir aussi
ereg
,
eregi
,
eregi_replace
,
str_replace
et
preg_match
.
|