使用 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 的其他资源:
以上是您可以删除已加载的 DOMDocument 中的元素而不创建新元素吗?的详细内容。更多信息请关注PHP中文网其他相关文章!