Parser une page html

Fermé
Robin S. - 3 mars 2010 à 23:36
mr05j Messages postés 295 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 11 mars 2011 - 4 mars 2010 à 00:12
Bonjour,
Je suis actuellement en train de monter un site qui récupérer un tas de données sur différents sites afin de les rassemblée sur un seul.
Au commencement, je travaillais principalement sur un fichier xml qui me permettais d'avoir les principales info j'avais besoin. Cependant ce fichier xml n'existe plus. Il me faut donc moi même le créer à partir de sa source.

Je pensais utiliser des regex du style preg_match afin de récupérer certains champs en fonction de certaine balise.
La regex donnait :
preg_match('<p class="toto">(.*)</p>#', $content, $matches, PREG_OFFSET_CAPTURE);
echo '<pre>';
print_r($matches);
echo '</pre>';


$content contient toute la page contenant toutes les informations.
Cette balise étant unique, je pensais pouvoir après n'afficher que la valeur souhaitée.
Malheureusement la regex ne me renvoi rien.

Y'aurait'il d'autres façons pour parser une page html ou pas ?
Un collègue vient de me dire d'essayer de prendre la page html comme une page xml.
je vais essayer cette autre façon afin de vérifier si ça pourrait fonctionner.
A voir également:

3 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
3 mars 2010 à 23:56
Tu peux essayer avec DOM, en faisant un getElementsByTagName puis tu vérifies si l'attribut class == 'toto'
1
Robin S. Messages postés 2 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 4 mars 2010 1
4 mars 2010 à 00:11
Je suis pas fan des DOM, mais si ça peut faire ce dont j'ai besoin je vais essayé et rebosser les DOM pour utiliser ton exemple. Merci à toi :)
0
mr05j Messages postés 295 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 11 mars 2011 22
4 mars 2010 à 00:12
avion-f16, tu est un expert toi tu est le mireurs 100/100
0