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