preg_replace() - PHP - Programmation
Marsh Posté le 15-02-2007 à 21:15:38
Code :
|
Ca le fait pas?
Marsh Posté le 15-02-2007 à 21:33:52
Pour etre clair il faudrait que tu nous donnes la donnée de départ sous forme de vrais exemples, puis, ce que tu souhaites a l'arrivée !
Ca ne sert pas a grand chose de nous donner ta regex sachant que si tu viens poster ici c'est que, précisément, elle ne fonctionne pas !
Marsh Posté le 15-02-2007 à 21:45:10
Voici un exemple:
To: blablabla blabla blablabla blablablablabla blabla
blablabla blablavblablabla blablablablabla blabla
blablabla blablablablabla blabla T0:
To: blablabla blabla blablabla blablablablabla blabla
blablabla blablavblablabla blablablablabla blabla
blablabla blablablablabla blabla T0:
en utilisant le regex du départ(voir plus haut) je veux mettre en rouge(c'est un exemple) tout ce qui est entre les 2 To:
voila pour la donnée de départ
Marsh Posté le 15-02-2007 à 21:51:50
En utilisant les parenthèses dans la regex et les références dans le pattern ça marche pas?
(genre ce que j'ai mis plus haut)
Marsh Posté le 15-02-2007 à 22:08:03
ce que tu as mis plus haut, c'est la même chose que moi j'ai encore plus haut non??
Marsh Posté le 15-02-2007 à 22:09:37
en faite moi j'utilise plustot ceci
preg_replace_callback('#(\s*(To: )\s+.+\n+)(\s*(To:|$))#isU','appel_fonction',$temp);
Marsh Posté le 15-02-2007 à 22:15:58
donc, moi ce que je veux ou ne veux pas plutôt....c'est de ne pas envoyer le dernier To: à ma fonction.......mais tout ce qui veint avant à partir du premier To:
voila
Marsh Posté le 15-02-2007 à 22:43:48
ok ca fonctionne j'ai rajouté un autre preg_replace() et j'ai remplacer le To; par un "caractere To:" et dans mon 2ieme preg_replace() je coupe a caractere.
merci
Marsh Posté le 16-02-2007 à 09:35:18
euhhh par défaut les pcre étant greedy, il suffisait de faire:
Code :
|
Marsh Posté le 15-02-2007 à 20:16:51
bonjour,
j'utilise preg_replace(). je veux faire une recherche du genre:
preg_replace('#(\s*(To: )\s+.+\n)(To: |$)#isU','en rouge',$texte);
ce que j'essaie de faire, est de ne pas inclure dans ma recherche le dernier To:, mais je veux que ma recherche porte sur le To: jusqu'au To:
en d'autre mot le dernier To:, ne sera pas en rouge.....
J'espere que je suis clair