2010-11-18 17 views
4

'u kullanarak PHP'deki alt öğeleri doğru şekilde silme Bu, başka bir soruydu, ancak bunun hakkında konuşmayacağız. Üçüncü taraf bir HTML belgesinde birkaç bölüm ayırıyorum. Bazıları eşleştirirken, belirli etiketleri sonuçtan kaldırmam gerekiyor. Ben SO bu bulunamadı kodu:DOMDocument ve DOMXPath

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

Bu sadece $ adından çocuğu silme değil talihsiz bir yan etkisi vardır, ancak tüm DOMDocument :(nasıl sadece bölümüne removeChild izole edebilir ben sorguyu kullanarak bulundu

cevap

4

yerine.

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

Do:

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

//nodename, ebeveynleri ne olursa olsun tüm düğümlerle eşleşir. Sorgunuz // ile başladığında $ contextnode göz ardı edilir.

+0

Teşekkür ederiz teşekkür ederim. şimdi sadece hayatımın 6 saatini alabilseydim. :) –

+0

Hem soru hem de cevap bana yardımcı oldu, teşekkürler. –

İlgili konular