¿Cómo se puede buscar por el contenido de una etiqueta en simplehtmldom?
-
19-09-2019 - |
Pregunta
Estoy intentando escribir un raspador web utilizando simplehtmldom. Quiero conseguir una etiqueta mediante la búsqueda en el contenido de la etiqueta. Este es el texto completo en su interior, no el tipo de etiqueta. A continuación, una vez que tenga la etiqueta mediante la búsqueda de los contenidos de su texto sin formato que desee obtener la siguiente etiqueta después de eso.
¿Cómo puedo encontrar una etiqueta en base a su contenido? Y una vez que lo tengo, ¿cómo puedo encontrar la siguiente etiqueta?
Cualquier ayuda sería muy apreciada.
Gracias.
Solución
A continuación le permitirá buscar todos los nodos de texto, a continuación, obtener la siguiente etiqueta:
// 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();
}
Esta no es la primera pregunta acerca básica Simple_HTML_DOM
uso. Es posible que desee leer la documentación oficial.