Services webmasters
Partenaires
Jeux concours gratuits
 
Voir aussi
<<<
ereg_replace ereg
>>>

7.91 Expressions régulières
7 Index des fonctions
 Manuel PHP

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

7.91.9 ereg_replace()Remplacement par expression régulière

[ Exemples avec ereg_replace ]   PHP 3, PHP 4

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

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

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

<< ereg_replace >>
Voir aussi Expressions régulières ereg
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -