Frage

Dies war vorherige eine andere Frage, aber wir werden nicht darüber reden. Ich bin eine Reihe von Abschnitten in einem Dritten HTML-Dokument zu isolieren. Wenn einige passende, muss ich bestimmte Tags aus dem Ergebnis entfernen. Der Code, den ich für diese auf SO gefunden wurde:

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

Dies hat die unglückliche Nebenwirkung nicht nur das Kind von $ namen zu löschen, sondern die gesamte DOMDocument :( Wie kann ich isoliere die removeChild nur auf den Abschnitt I mit der Abfrage gefunden.

War es hilfreich?

Lösung

Statt:

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

Sie:

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

//nodename entspricht alle Knoten, egal, was ihre Eltern sind. $ ContextNode wird ignoriert, wenn Ihre Abfrage beginnt mit //.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top