Aller au contenu

Sujets conseillés

Posté

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...

Posté

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é
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 ;)

Veuillez vous connecter pour commenter

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



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