ereg_replace

ereg_replace -- Remplacement par expression régulière.

Description

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 suivant affiche " Ceci etait un test " trois fois :

Exemple 1 . Exemple avec ereg_replace( )

 
?php

 
$string

 
=

 
"

 
Ceci

 
est

 
un

 
test"

 
;

 
echo

 
ereg_replace

 
(

 
"

 
est"

 
,

 
"

 
etait"

 
,

 
$string

 
)

 
;

 
echo

 
ereg_replace

 
(

 
"

 
(

 
)est

 
"

 
,

 
"\\1etait"

 
,

 
$string

 
)

 
;

 
echo

 
ereg_replace

 
(

 
"(

 
(

 
)est)"

 
,

 
"\\2etait"

 
,

 
$string

 
)

 
;

 
?





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 2 . 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( ) et eregi_replace( ) .