ereg_replace

(PHP 4, PHP 5)

ereg_replace>Remplacement par expression rationnelle

Avertissement

Cette fonction est OBSOLÈTE à partir de PHP 5.3.0 et a été SUPPRIMÉE à partir de PHP 7.0.0.

Les alternatives à cette fonction incluent :

Description

ereg_replace ( string $pattern , string $replacement , string $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.

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);
?>

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_replace() - Rechercher et remplacer par expression rationnelle standard
  • quotemeta() - Protège les métacaractères