Comment cherchez-vous par le contenu d'une balise dans simplehtmldom?
-
19-09-2019 - |
Question
Je suis en train d'écrire un grattoir web en utilisant simplehtmldom. Je veux obtenir une étiquette en recherchant le contenu de la balise. Ceci est le texte en clair à l'intérieur, pas le type d'étiquette. Ensuite, une fois que j'ai l'étiquette en recherchant le contenu de son texte que je veux obtenir la balise suivante après.
Comment puis-je trouver une étiquette basée sur son contenu? Et une fois que je l'ai comment puis-je trouver la balise suivante?
Toute aide serait appréciée.
Merci.
La solution
Ce qui suit vous permettra de rechercher tous les nœuds de texte, puis atteindre la balise suivante:
// Use Simple_HTML_DOM special selector 'text'
// to retrieve all text nodes from the document
$textNodes = $html->find('text');
$foundTag = null;
foreach($textNodes as $textNode) {
if($textNode->plaintext == 'Hello World') {
// Get the parent of the text node
// (A text node is always a child of
// its container)
$foundTag = $textNode->parent();
break;
}
}
if($foundTag) {
$nextTagAfter = $foundTag->next_sibling();
}
Ce n'est pas votre première question sur base Simple_HTML_DOM
utilisation. Vous pouvez lire la documentation officielle .