|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 8 ![]() |
Bonjour à tous,
Je cherche à traiter un fichier structuré ainsi : Citation:
Dans le cas où les lignes ne commencent pas par _, je veux coloriser tous les prix qui se trouvent sur la ligne. Les prix sont systématiquement précédés de $ £ ou € suivi et précédé d'un blanc Pour les lignes qui commencent par un _, je ne veux rien faire du tout car ces items sont épuisés J'ai écrit ceci en php : Code :
Le seul problème c'est que cela ne transforme que le premier prix de la ligne dans le cas où je mets le non-gourmant (.*?) Citation:
Et en remplaçant le non-gourmand (.*?) par un gourmand (.+), cela ne remplace que la dernière occurence, donc ce n'est pas suffisant non plus : Citation:
Pouvez-vous m'aider à colorer tous mes prix des lignes ne commençant pas par _ si possible sans faire de boucle ? Merci d'avance. |
|||||
|
|
00
|
|
|
#2 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2005 Messages : 27 ![]() |
Lu,
déjà tu peux simplifier ton expression : Code :
En gros si ligne ne commence pas par _ , je change : Code :
|
||||
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : octobre 2007 Messages : 8 ![]() |
Un très, très grand merci, cela fonctionne impeccable.
Le seul petit bémol c'est que cela va générer autant d'appels à preg_replace qu'il y a de lignes de concernées, donc si mon fichier fait 1000 lignes, environ 750 preg_replace (car il y a une moyenne de 25% de désactivés dans le fichier) En fait je voulais éviter les boucles et je cherchais la regexp qui pourrait tout résoudre en une seule passe. Mais après de multiples tentatives... à moins que quelqu'un ne trouve une formule magique... je crois que je vais effectivement me rabattre sur votre solution qui a le mérite de fonctionner. En tout cas un grand merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com