提问人:Tzook Bar Noy 提问时间:8/16/2022 最后编辑:BarmarTzook Bar Noy 更新时间:8/17/2022 访问量:160
php DOMDocument removeChild 抛出未找到的异常
php DOMDocument removeChild throws exception of not found
问:
删除失败,并出现“未找到”异常。
PHP Fatal error: Uncaught DOMException: Not Found Error
$document = new \DOMDocument();
$raw = '
some text
<a href="sad" sometag="true">linkkkk</a>
more text
';
$document->loadHTML($raw);
$links = $document->getElementsByTagName('a');
$a = $links->item(0);
$document->removeChild($a);
答:
1赞
The fourth bird
8/16/2022
#1
您可以将其从 parentNode 中删除$a
$document = new \DOMDocument();
$raw = '
some text
<a href="sad" sometag="true">linkkkk</a>
more text
';
$document->loadHTML($raw);
$links = $document->getElementsByTagName('a');
$a = $links->item(0);
$a->parentNode->removeChild($a);
0赞
ThW
8/17/2022
#2
getElementsByTagName()
返回任何后代元素节点的列表。所以不是父节点。a
$links
在 PHP > 8.0 中,您可以使用以下方法:DOMNode::remove()
$links = $document->getElementsByTagName('a');
$a = $links->item(0);
$a->remove();
或者使用以下属性:parentNode
$links = $document->getElementsByTagName('a');
$a = $links->item(0);
$a->parentNode->removeChild($a);
评论