repetition dun eregi_replace() [resolu] - PHP - Programmation
Marsh Posté le 30-11-2005 à 00:16:01
essaye pit etre de remplacer (.*) par
(.[^\[]*)
(.[^[]*)
pour lui dire de prendre tout sauf "[", sinon il ne sait pas qu'il doit s'arrêter dès qu'il trouve la balise de fin
ps: je préviens, je ne suis pas très doué pour ces trucs
Marsh Posté le 30-11-2005 à 00:28:24
Utiliser les regex PCRE (preg_replace) au lieux de la version POSIX (ereg_replace) et utiliser l'option U (ungreedy) qui rend les quantificateur * et + non gourmands : la regex ne cherchera pas a trouver le motif le grand possible qui matche le masque de recherche.
Marsh Posté le 30-11-2005 à 09:42:58
ok... boulot oblige.. j'peux pas testé tout de suite.. mais en cherchant plus d'infos sur ungreedy, j'ai trouvé ca
Citation : Les fonctions POSIX eregi(); ou la PCRE preg_match(); ne capture que la première occurence rencontrée dans la chaine. Si l'on veut matcher un texte entier et en retirant toutes les occurences qui correspondent à notre motif, nous devrons employer preg_match_all(); |
Bref... j'vais test le preg_replace
Merci pour les infos
Marsh Posté le 29-11-2005 à 23:04:23
Bonsoir,
J'ai beau fouiner...
Voila j'ai ca..
Ca marche quand il n'y a qu'une seule balise comme celle-ci dans mon champ
Mais si il y a plusieurs balises, il ne prend pas les suivantes genre
J'utilise le meme procedé pour d'autres balises et je n'ai pas ce probleme !
Merci
Message édité par benefred le 30-11-2005 à 21:34:52