Aller au contenu

Problème sur un PREG


Toucouleur

Sujets conseillés

Bonjour j'ai un soucis assez simple

j'utilise ce code pour appliquer un style à ce qui trouve entre 3 étoiles.

  echo preg_replace('/(\*){3}(.*)(\*){3}/ie', "<u>('\\2')</u>", $description);

ce qui par exemple pour le texte

"je suis ici *** mais pas ici *** alors ?"

donne

"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 :

"je suis ici *** mais pas ici *** alors ? *** je continu *** mon exemple "

ce qui me donne

"je suis ici mais pas ici *** alors ? *** je continu mon exemple "

alors que je voudrais qu'il me fasse

"je suis ici mais pas ici alors ? je continu mon exemple "

si quelqu'un sait m'aider, je vous remercie par avance...

Lien vers le commentaire
Partager sur d’autres sites

Salut, par défaut une expresion est gourmande, il faut activer le mode Ungreedy, tu peux le faire en mettant un "?" comme cela:

echo preg_replace('/(\*){3}(.*?)(\*){3}/ie', "<u>('\\2')</u>", $description);

:)

Lien vers le commentaire
Partager sur d’autres sites

Salut, par défaut une expresion est gourmande, il faut activer le mode Ungreedy, tu peux le faire en mettant un "?" comme cela:

echo preg_replace('/(\*){3}(.*?)(\*){3}/ie', "<u>('\\2')</u>", $description);

:)

<{POST_SNAPBACK}>

je t'en dois une Phobos !

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

youpi ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...