我正在尝试使用 DOMDocument 删除所有 body
子项。
$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();
我不确定我做错了什么......请告诉我。
最佳答案
好吧,问题在于您正在更新 $bodyChildren
迭代器(它不是一个数组,它是一个 DomNodeList
对象),因为您正在遍历它。相反,请尝试这样做:
while ($bodyChildren->length > 0) {
$body->removeChild($bodyChildren->item(0));
}
这似乎有点倒退,但它应该可以满足您的需求...
关于php - 如何使用 DOMDocument 删除 body 元素的所有子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4952585/