Domanda

Questa è stata un'altra domanda precedente, ma non vogliamo parlare di questo. Sto isolare un numero di sezioni in un documento HTML di terze parti. Quando corrispondenza alcuni, ho bisogno di rimuovere alcuni tag dal risultato. Il codice che ho trovato per questo su SO è stato:

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

Questo ha l'effetto collaterale di non solo l'eliminazione del bambino da $ nome, ma l'intero DOMDocument :( Come posso isolare l'removeChild solo per la sezione che ho trovato utilizzando la query.

È stato utile?

Soluzione

Al posto di:

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

Do:

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

//nodename corrisponde a tutti i nodi, non importa quale sia il loro padre è. $ Contextnode viene ignorato quando la query inizia con //.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top