首页 >后端开发 >php教程 >您可以删除已加载的 DOMDocument 中的元素而不创建新元素吗?

您可以删除已加载的 DOMDocument 中的元素而不创建新元素吗?

Susan Sarandon
Susan Sarandon原创
2024-10-31 01:49:02835浏览

 Can You Delete Elements in a Loaded DOMDocument Without Creating a New One?

使用 DOMDocument 删除元素

操作 HTML 文档是 Web 开发人员的常见任务。在 PHP 中,DOMDocument 类提供了一种解析和操作 HTML 代码的便捷方法。虽然可以从头开始创建新的 DOMDocument,但在许多情况下,将现有文档加载到 DOMDocument 对象中会更有效。

修改 HTML 文档时最常见的操作之一是删除元素。让我们考虑以下 HTML 代码:

<code class="html"><p><a href="#">First</a></p>
<p><a href="#">Second</a></p>
<p><a href="#">Third</a></p></code>

问:是否可以删除加载的 DOMDocument 中的元素而不创建新元素?

<code class="php">$dom = new DOMDocument('1.0', 'utf-8');
$dom->loadHTML($html);

foreach ($dom->getElementsByTagName('a') as $href) {
    if ($href->nodeValue == 'First')
        // delete
}</code>

答:是的,可以从加载的 DOMDocument 中删除元素而不创建新元素:

<code class="php">$href->parentNode->removeChild($href);</code>

这种方法直接修改原始 DOMDocument 对象。 DOMNode::$parentNode 属性引用当前节点的父节点,DOMNode::removeChild() 方法从父节点中删除指定的子节点。

使用 DOMDocuments 的其他资源:

  • [DOMNode::$parentNode 文档](https://www.php.net/manual/en/domnode.parentnode.php)
  • [DOMNode::removeChild() 文档](https://www.php.net/manual/en/domnode.removechild.php)
  • 如何使用 PHP DOMDocument 删除属性?
  • 如何使用 PHP 删除 HTML 元素DOMDocument 类

以上是您可以删除已加载的 DOMDocument 中的元素而不创建新元素吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn