Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2111 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  preg_replace()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

preg_replace()

n°1515240
dirty_harr​y
Posté le 15-02-2007 à 20:16:51  profilanswer
 

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

mood
Publicité
Posté le 15-02-2007 à 20:16:51  profilanswer
 

n°1515250
Maxaks
Posté le 15-02-2007 à 21:15:38  profilanswer
 

Code :
  1. preg_replace('#(\s*(To: )\s+.+\n)(To: |$)#isU','<span class="rouge">$1</span>$3',$texte);


 
Ca le fait pas?

n°1515256
afbilou
pouet your life
Posté le 15-02-2007 à 21:33:52  profilanswer
 

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 !

n°1515257
dirty_harr​y
Posté le 15-02-2007 à 21:45:10  profilanswer
 

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

n°1515258
Maxaks
Posté le 15-02-2007 à 21:51:50  profilanswer
 

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)


Message édité par Maxaks le 15-02-2007 à 21:52:10
n°1515262
dirty_harr​y
Posté le 15-02-2007 à 22:08:03  profilanswer
 

ce que tu as mis plus haut, c'est la même chose que moi j'ai encore plus haut non??

n°1515266
dirty_harr​y
Posté le 15-02-2007 à 22:09:37  profilanswer
 

en faite moi j'utilise plustot ceci
preg_replace_callback('#(\s*(To: )\s+.+\n+)(\s*(To:|$))#isU','appel_fonction',$temp);


Message édité par dirty_harry le 15-02-2007 à 22:10:00
n°1515271
dirty_harr​y
Posté le 15-02-2007 à 22:15:58  profilanswer
 

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

n°1515282
dirty_harr​y
Posté le 15-02-2007 à 22:43:48  profilanswer
 

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

n°1515345
anapajari
s/travail/glanding on hfr/gs;
Posté le 16-02-2007 à 09:35:18  profilanswer
 

euhhh par défaut les pcre étant greedy, il suffisait de faire:

Code :
  1. preg_replace('#(TO.*)(TO:)#is','<span class="rouge">$1</span>$2',$texte);


:o


Message édité par anapajari le 16-02-2007 à 09:35:25

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  preg_replace()

 

Sujets relatifs
prob preg_replaceregex et preg_replace()
Question à propos de la fonction "preg_replace"[php]preg_replace et limite | help me and get a free cookie
Problème preg_replace() et chiffres, numérospreg_replace et balises à arguments variables
[resolu] Probleme de PREG_REPLACEpreg_replace
[resolu]preg_replace petit soucis 
Plus de sujets relatifs à : preg_replace()


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)