微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何使用DOMDocument删除body元素的所有子元素?

我正在尝试使用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));
}

它似乎有点倒退,但它应该适合您的需求……

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐