Voir aussi
<<<
ereg_replace ereg
>>>

8.106 Expressions rationnelles
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
Exemples
Voir aussi
->ereg_replace
ereg
eregi_replace
eregi
split
spliti
sql_regcase

8.106.9 ereg_replace()Remplacement par expression rationnelle

[ Exemples avec ereg_replace ]   PHP 3, PHP 4 , PHP 5

string  ereg_replace ( string   pattern , string   replacement , string   string )

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

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 leurs parenthèses ouvrantes.

Si aucune occurrence n'est trouvée, la chaîne string sera retournée intacte.

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

Exemple avec ereg_replace

<?php

$string
= "Ceci fut un test";
echo
str_replace(" fut", " est", $string);
echo
ereg_replace("( )fut", "\\1est", $string);
echo
ereg_replace("(( )fut)", "\\2est", $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 ordinal d'un caractère et l'appliquera. Par exemple :

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.

/* Ceci fonctionne comme attendu */
$num = '4';
$string = "Cette chaîne a quatre mots.";
$string = ereg_replace('quatre', $num, $string);
echo
$string;   // Cette chaîne a 4 mots.
?>

Remplacer les URL par des liens cliquables

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

Array

Voir aussi ereg , eregi , eregi_replace , str_replace et preg_match .

<< ereg_replace >>
Voir aussi Expressions rationnelles ereg