我正在尝试使用DOMDocument删除所有正文孩子.
$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
来源: https://codeday.me/bug/20190515/1109694.html