Fonctions POSIX Regex
ereg
Fonctions POSIX Regex
PHP Manual

# ereg_replace

(PHP 4, PHP 5)

ereg_replace — >Remplacement par expression rationnelle

### Description

string ereg_replace ( string `$pattern` , string `$replacement` , string `$string` )

Cette fonction 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`.

Avertissement

Cette fonction est OBSOLETE depuis PHP 5.3.0. Nous vous encourageons vivement à ne plus l'utiliser.

### Liste de paramètres

`pattern`

  Une expression rationnelle POSIX.

`replacement`

  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 parenthèse capturante numéro digit. \\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.

`string`

  La chaîne d'entrée.

### Valeurs de retour

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

### Exemples

Par exemple, le code suivant affiche "Ceci est un test" trois fois :

Exemple #1 Exemple avec ereg_replace()

`<?php
$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $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 = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Affiche : 'This string has words.' */
/* Ceci fonctionne comme attendu */
$num = '4';
$string = "This string has four words.";
$string = ereg_replace('four', $num, $string);
echo $string; /* Affiche : 'This string has 4 words.' */
?>`

Exemple #3 Remplacer les URL par des liens cliquables

`<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\">\\0</a>", $text);
?>`

### Notes

> Note: À partir de PHP 5.3.0, l'extension regex est obsolète et vous devez utiliser l'extension PCRE à la place. Appeler des fonctions de l'extension regex émettra des alertes de type `E_DEPRECATED`. Voir la liste des différences pour vous aider dans la conversion en PCRE.

Astuce

preg_replace(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg_replace().

### Voir aussi

- ereg() - Recherche par expression rationnelle standard
- eregi() - Recherche par expression rationnelle insensible à la casse
- eregi_replace() - Remplacement par expression rationnelle insensible à la casse
- str_replace() - Remplace toutes les occurrences dans une chaîne
- preg_match() - Expression rationnelle standard

Fonctions POSIX Regex
ereg
Fonctions POSIX Regex
PHP Manual