Manuel PHP
Précédent |  | Suivant

# ereg_replace

(PHP 3, PHP 4 , PHP 5)

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

Exemple 1. 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 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. /* This will work. */ $num = '4'; $string = "Cette chaîne a quatre mots."; $string = ereg_replace('quatre', $num, $string); echo $string; // 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 3. 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().

Précédent | Sommaire | Suivant
Expressions régulières | Niveau supérieur | ereg