Pregunta

Esta fue otra pregunta anterior, pero no vamos a hablar de eso. Estoy aislar un número de secciones de un documento HTML terceros. Cuando coinciden con alguna, lo que necesito para eliminar ciertas etiquetas del resultado. El código que encontré para esto en SO era:

$name = $xpath->query("//div[@class='leftColBig']//h3")->item(0);
// remove <span>
foreach($xpath->query("//span", $name) as $node)
    $node->parentNode->removeChild($node);

Esto tiene el efecto secundario desafortunado de no sólo de eliminar el hijo de $ nombre, sino a toda la DOMDocument :( ¿Cómo puede aislar el I removeChild sólo para la sección encontré utilizando la consulta.

¿Fue útil?

Solución

En lugar de:

$xpath->query("//span", $name)

Do:

$xpath->query("span", $name)

//nodename coincide con todos los nodos no importa qué su padre es. $ ContextNode se ignora cuando su consulta comienza con //.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top