Version complète: sur le forum Webmaster Hub : Problème sur un PREG
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Toucouleur
Bonjour j'ai un soucis assez simple

j'utilise ce code pour appliquer un style à ce qui trouve entre 3 étoiles.
CODE
 echo preg_replace('/(\*){3}(.*)(\*){3}/ie', "<u>('\\2')</u>", $description);

ce qui par exemple pour le texte
CITATION
"je suis ici *** mais pas ici *** alors ?"

donne
CITATION
"je suis ici mais pas ici alors ?"

Mon soucis c'est que ça marche bien, mais pas si j'ai des répétitions d'étoiles. exemple :
CITATION
"je suis ici *** mais pas ici *** alors ? *** je continu *** mon exemple "

ce qui me donne
CITATION
"je suis ici mais pas ici *** alors ? *** je continu mon exemple "

alors que je voudrais qu'il me fasse
CITATION
"je suis ici mais pas ici alors ? je continu mon exemple "

si quelqu'un sait m'aider, je vous remercie par avance...
Phobos
Salut, par défaut une expresion est gourmande, il faut activer le mode Ungreedy, tu peux le faire en mettant un "?" comme cela:
CODE
echo preg_replace('/(\*){3}(.*?)(\*){3}/ie', "<u>('\\2')</u>", $description);


smile.gif
Toucouleur
CITATION(Phobos @ vendredi 12 août 2005, 19h28)
Salut, par défaut une expresion est gourmande, il faut activer le mode Ungreedy, tu peux le faire en mettant un "?" comme cela:
CODE
echo preg_replace('/(\*){3}(.*?)(\*){3}/ie', "<u>('\\2')</u>", $description);


smile.gif
*

je t'en dois une Phobos !

2 heures que je passe à me tapper les manuels en ligne...

youpi wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.