Tutoriel N° 92
La fonction php preg_replace($in,$out,$chaine) remplace les expressions extraites de $in de $in par la chaine $out
Voyons un exemple concret
$chaine = "[balise]texte1[/balise] blabla [balise]texte2[/balise]";
On cherche à extraire le contenu qui se trouvent entre les balises [balise][/balise] de $chaine
On veut ensuite sur chacune des expressions trouvées appliquer la fonction PHP strtoupper (transformer la chaine en majuscule).
On veut donc que $chaine contienne:
$chaine = "TEXTE1 blabla TEXTE2";
Pour cela:
1/ Utiliser /eis dans la variable $in
2/ Passer la fonction modify() dans $out
$in="/[balise](.*?)[/balise]/eis";
Cette chaine doit se terminer par /eis pour passer une fonction
$out="modify('$1')";
<?
function modify ($text){
return strtoupper($text);
}
$chaine = "[balise]texte1[/balise] blabla [balise]texte2[/balise]";
$in="/[balise](.*?)[/balise]/eis";
$out="modify('$1')";
$chaine = preg_replace($in,$out, $chaine);
echo $chaine;
?>