[ 1 036 255 ]
[ 38.107.191.119 ]
Expression rationnelle PREG_REPLACE()Remplacement par expression rationnellepreg_replace (mixed pattern, mixed replacement, mixed subject [, int limit [, int &count ]]) preg_replace() effectue une recherche par expression rationnelle dans la chaîne subject en recherchant les occurrences de pattern (voir Les méta-caractères), puis les remplace par la chaîne replacement. Exemples avec preg_replace()Dans cet exemple, toutes patterns identiques entre "/" et "/" seras remplacé par la chaîne replacement "était". <?php $subject = "Ceci est un test."; echo preg_replace( "/est/", "était", $subject ); ?> Ce qui affichera : Ceci était un tétait. 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 parceque ereg_replace() va interpréter le nombre comme la valeur ordinale d'un caractère, et l'utiliser.
<?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.'
?>
Autre exemple, toutes patterns identiques entre "/" et "/" seras remplacé par la chaîne replacement "cela". <?php $subject = "Ceci est un test."; echo preg_replace( "/ceci/i", "cela", $subject ); // Le "i" après le délimiteur du pattern indique que la recherche // ne sera pas sensible à la casse ?> Ce qui affichera : cela est un test. Autre exemple, toutes chaînes entre "(" et ")" seront remplacé par des "(une chaîne)". <?php $subject = "Ceci est (un test)."; echo preg_replace( "/(\(\/?)(\w+)([^\)]*\))/", "(une chaîne)", $subject ); ?> Ce qui affichera : Ceci est (une chaîne). |