Toucouleur Posté 12 Août 2005 Partager Posté 12 Août 2005 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 More sharing options...
Phobos Posté 12 Août 2005 Partager Posté 12 Août 2005 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 More sharing options...
Toucouleur Posté 12 Août 2005 Auteur Partager Posté 12 Août 2005 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 More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant