2011-02-10 16 views
5

DOMDocument ile body çocukların tümünü kaldırmaya çalışıyorum.DOMDocument ile tüm vücut elemanlarının tüm elemanlarını nasıl çıkarabilirim?

$dom = new DomDocument(); 

$dom->loadHTML($buffer); 
$dom->preserveWhiteSpace = FALSE; 

$body = $dom->getElementsByTagName('body')->item(0); 

$bodyChilden = $body->childNodes; // NULL, so invalid argument for foreach 

foreach($bodyChildren as $child) { 
    $child->parentNode->removeChild($child); 
} 

echo $dom->saveHTML(); 

Yanlış yaptığımdan emin değilim ... lütfen bana söyleyin.

cevap

7

Sorun şu ki, $bodyChildren yineleyicisini (bu bir dizi değil, bir DomNodeList nesnesi) üzerine döngü yaparken güncelleştiriyorsunuz.

while ($bodyChildren->length > 0) { 
    $body->removeChild($bodyChildren->item(0)); 
} 

Geriye doğru biraz görünüyor, ama

+0

Kodunuz tüm alt unsurları kaldırıldı ... ihtiyaçlarınız için çalışması gerekir: Onun yerine, bunu deneyin. Teşekkürler! – alex

İlgili konular