Google

NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.73 ">

ereg_replace

(PHP 3, PHP 4 )

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().