Bonsoir,

Pour parser une page HTML, j'utilise DOMDocument d'après les bons conseils de stealth35 ;-) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  $doc = new DOMDocument('1.0','UTF-8');
  $doc->loadHTMLFile($url);
  $DOMxpath = new DOMXPath($doc);
Ensuite j'applique à ce document une requete Xpath afin de récupérer le contenu d'une balise <p> ayant la classe "xxx" dont voici le code dans la page XTML

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<p class="xxx">du texte<br/>encore du texte<br/><a title="bla bla" class="sfets" href="#">et enfin un autre texte</a></p>
Voici ma requete Xpath

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$xpath= "//tbody[@class='man']/tr/p[@class='xxx']";
$var= $DOMxpath->query($xpath)
Ensuite je fais un foreach pour faire une action sur chaque <p> de cette classe trouvé

Jusque la tout va bien sauf que si je veux récupérer le contenu de ma balise <p> sans le lien <a> qu'il contient, je ne peux pas car dans ma boucle, $var->item($i)->nodeValue me retourne tout ce qui n'est pas dans des balises soit ici :

du texteencore du texteet enfin un autre texte

Ma question est la suivante : Est-il possible de récupérer avec le résultat d'une requete Xpath dans un Domdocument, le contenu d'une balise avec les balises qu'elle contient pour ensuite éventuellement le traiter avec des fonctions PHP afin d'en afficher ce que bon me semble ?

Si non quelle serait la solution pour retirer ce qui ne me convient pas dans le résultat de ma requête ? dois-je changer la requête ?

J'espère avoir été assez clair :-/

Merci d'avance !