Je récupère différentes pages Web en utilisant PHP, puis je les charge dans un document DomDocument, mais je n'arrive pas à extraire le texte à partir des noeuds feuilles.Extraction de texte à partir de noeuds feuilles à l'aide de DomDocument en PHP
Par exemple, supposons que je donne les résultats suivants:
<html>
<body>
<div class="this_is_our_div_of_interest">
<div>
<div>
<p>Some text</p>
<div>Some <a href='#'>more</a> text</div>
<p>And <span><strong>another</strong></span> paragraph</p>
</div>
<p>Yay<p>
</div>
<div>
<h4>abcd</ph4>
xyz
<div>
</div>
<div class="we_do_not_want_those_divs">
<p>This text is not important to us</p>
</div>
</body>
</html>
Comme vous pouvez le voir, ceci est une entrée en désordre, mais l'attendu "echo'ed" est sortie:
Some text
Some more text
And another paragraph
Yay
abcd
xyz
Remarque ce qui suit dans la sortie
- Je ne récupère qu'une sortie d'une balise spécifique (dans notre exmaple,
this_is_our_div_of_interest
) - Le est pas un format spécifique pour l'arbre fourni ci-dessus bevcause il vient d'une page Web Tjat Je ne peux pas contrôler son contenu, cependant, je n'aime que d'apporter du contenu des étiquettes telles que div et p qui semblent être des noeuds de feuilles
- Il y a quelques balises qui doivent être ommited, comme un, durée et fortes (d'autres peut-être ajouté à la liste)
MISE à JOUR J'utilise XPath pour se rendre à la classe, par exemple, la ligne de code suivante apportera tous les decendents en tant que nœuds separete:
$nodes = $xpath->query("//div[@class='this_is_our_div_of_interest']/descendant::*");
Eh bien, merci pour votre réponse, je sais comment récupérer par classe, je vais mettre à jour la question. La question principale est comment traverser seulement les nœuds feuilles, quelle variable xpath dois-je utiliser! – Greeso