|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2005 Messages : 70 ![]() |
Bonjour.
Je télécharge un fichier sur le net. Dans ce fichier se trouve des infos que je veux récupérer. Le problème : les infos se trouvent toutes dans une seule ligne du fichier, extèmement longue. Je veux récupérer à chaque fois N fois x infos. Une partie de la ligne qui contient x infos : Code :
<tr><td class='bodytxt'><span class='orange'><b>1.</b></span> ATLANTA THRASHERS<br /><span class='orange'><b>2.</b></span> OTTAWA SENATORS</td><td class='bodytxt'><input onclick='javascript:top.SelectBetCompetitor(this)' type='checkbox' name='88191041' value="88191041|Win ATLANTA THRASHERS|NHL Saturday 17/2%3Cbr%20/%3EATLANTA THRASHERS at OTTAWA SENATORS<br />Draw Option|3.40|0"/><a class='pricetxt' href="javascript:void(top.AddBetToSlip(88191041,'Win ATLANTA THRASHERS','NHL Saturday 17/2%3Cbr%20/%3EATLANTA THRASHERS at OTTAWA SENATORS<br />Draw Option', 3.40, '0'))" style='text-decoration:underline;'>3.40</a></td><td class='bodytxt'><input onclick='javascript:top.SelectBetCompetitor(this)' type='checkbox' name='88191051' value="88191051|ATLANTA THRASHERS v. OTTAWA SENATORS DRAW|NHL Saturday 17/2%3Cbr%20/%3EATLANTA THRASHERS at OTTAWA SENATORS<br />Draw Option|4.35|0"/><a class='pricetxt' href="javascript:void(top.AddBetToSlip(88191051,'ATLANTA THRASHERS v. OTTAWA SENATORS DRAW','NHL Saturday 17/2%3Cbr%20/%3EATLANTA THRASHERS at OTTAWA SENATORS<br />Draw Option', 4.35, '0'))" style='text-decoration:underline;'>4.35</a></td><td class='bodytxt'><input onclick='javascript:top.SelectBetCompetitor(this)' type='checkbox' name='88191061' value="88191061|Win OTTAWA SENATORS|NHL Saturday 17/2%3Cbr%20/%3EATLANTA THRASHERS at OTTAWA SENATORS<br />Draw Option|1.80|0"/><a class='pricetxt' href="javascript:void(top.AddBetToSlip(88191061,'Win OTTAWA SENATORS','NHL Saturday 17/2%3Cbr%20/%3EATLANTA THRASHERS at OTTAWA SENATORS<br />Draw Option', 1.80, '0'))" style='text-decoration:underline;'>1.80</a></td></tr> Or je peux avoir 10 fois cela dans une ligne. J'ai donc penser remplacer tous les <tr> du fichier récupéré par "\n<tr>". Est-ce à votre avis la meilleure méthode ? En effet, cela signifie que je dois passer toutes les lignes de mon fichier une première fois pour remplacer et une seconde fois pour rechercher mon pattern. Y a t-il une fonction qui permet de remplacer toutes les occurences d'une chaîne dans un fichier sans passer ligne par ligne (je sais ma question est idiote) ? Ne vaudrait-il pas mieux ? 1) Rechercher le pattern 2) Copier la ligne dans un fichier 3) Remplacer <tr> dans ce fichier 4) Rechercher le pattern dans chaque ligne de ce nouveau fichier Désolé si mes explications sont confuses. |
|
|
00
|
|
|
#2 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Et pourquoi pas utiliser preg_replace ?
Jette un oeil sur ceci : preg_replace() ou preg_replace_callback() |
|
|
00
|
|
|
#3 |
|
Membre éprouvé
![]() Inscription : février 2007 Messages : 475 ![]() |
Pourquoi pas preg_match_all() tout simplement ?
|
|
|
00
|
|
|
#4 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
J'y ai pensé mais il dit qu'il souhaite remplacer les éléments et c'est preg_replace qui correspond le plus à sa demande. Mais il peut quand même le faire avec preg_match_all, et le traitement sera certainement plus long
|
|
|
00
|
|
|
#5 | |
|
Membre éprouvé
![]() Inscription : février 2007 Messages : 475 ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Si tu te bases sur le titre du sujet et le fonctionnement voulu tu remarqueras que c'est exactement ce qu'il souhaite avoir. La solution de récupération du début est là certainement parce qu'il ne savait pas qu'il existait un fonction qui permettait de remplacer directement.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com