2010-04-03 2 views
0

I ont le code HTML suivantexpression rationnelle pour enlever certaines données à partir du code HTML via PHP

<tr> 
<td class="1">...</td> 
<td class="2">...</td> 
<td class="3">...</td> 
<td class="4">...</td> 
</tr> 
etc... 

I ont essentiellement N lignes et chaque ligne contient de 4 TD chacune avec une classe unique. Je voudrais un moyen simple de séparer toutes les lignes et TD par classe afin que je puisse choisir les données que je veux utiliser.

Je m'attends à ce que la façon la plus simple d'y parvenir soit regex (peut-être deux). Un à diviser le TR de puis un autre pour diviser les TDs (par classe de préférence)

de Merci

Répondre

1

Regex est généralement pas un bon moyen d'analyser HTML, je recommanderais d'utiliser SimpleXML http://www.php.net/manual/en/book.simplexml.php et d'exécuter des requêtes XPath sur les données.

+0

L'utilisation de SimpleXML me donne beaucoup d'erreurs en raison de HTML mal formaté et javascript en ligne. Comment pourrait-on contourner cela? – Chris

+0

Hmm, je ne connais pas une bonne librairie php qui gère bien les erreurs, en python je chercherais une belle soupe ou lxml. Quand j'ai couru dans ce que j'ai (sans fierté) utilisé regex. La bibliothèque SimpleHTMLDom que Mike B a suggéré ci-dessus prétend gérer html invalide, peut-être cela vaut le coup d'oeil? – Michael

Questions connexes