2010-11-18 2 views
4

C'était une autre question précédente, mais nous ne parlerons pas de cela. J'isole un certain nombre de sections dans un document HTML tiers. Lorsque j'en fais correspondre, j'ai besoin de retirer certaines balises du résultat. Le code que je trouve pour cela sur SO était:Suppression correcte des éléments enfants dans PHP en utilisant DOMDocument et DOMXPath

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

Cela a pour effet secondaire malheureux de ne pas simplement supprimer l'enfant du nom $, mais l'ensemble DOMDocument :(Comment puis-je isoler le removeChild juste à la section I trouvé en utilisant la requête

Répondre

4

au lieu de:.

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

Do:

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

//nodename correspond à tous les nœuds, quel que soit leur parent. $ contextnode est ignoré lorsque votre requête commence par //.

+0

merci merci merci. maintenant si seulement je pouvais récupérer 6 heures de ma vie. :) –

+0

Les deux question et réponse m'a aidé, merci. –

Questions connexes