首页 >后端开发 >php教程 >如何使用PHP的DOM实现获取DOMNodes的innerHTML?

如何使用PHP的DOM实现获取DOMNodes的innerHTML?

Barbara Streisand
Barbara Streisand原创
2024-12-29 12:54:11980浏览

How to Get the innerHTML of DOMNodes Using PHP's DOM Implementation?

在 PHP DOM 实现中获取 DOMNode 的 innerHTML

使用 PHP 的 DOM 实现时,了解可用于检索 innerHTML 的方法至关重要DOM 节点数。以下探索将为这一常见任务提供全面的解决方案。

PHP 实现:

为了获取给定 DOMNode 的innerHTML,PHP 提供了两个主要函数:

  • innerHTML(自定义函数):

PHP 手册用户注释 #89718 提供了此自定义函数的更新版本:

function DOMinnerHTML(DOMNode $element)
{
    $innerHTML = "";
    $children  = $element->childNodes;

    foreach ($children as $child)
    {
        $innerHTML .= $element->ownerDocument->saveHTML($child);
    }

    return $innerHTML;
}

此函数利用 saveHTML 递归遍历 DOMNode 的子级() 检索每个的 HTML 表示child.

  • ownerDocument->saveHTML():

此方法返回指定 DOMNode 的 HTML 表示形式。可以在 DOMNode 的ownerDocument上使用它来获取其innerHTML。

使用示例:

以下示例演示了 DOMinnerHTML() 函数的用法:

$dom = new DOMDocument();
$dom->preserveWhiteSpace = false;
$dom->formatOutput       = true;
$dom->load($html_string);

$domTables = $dom->getElementsByTagName("table");

// Iterate over DOMNodeList (Implements Traversable)
foreach ($domTables as $table)
{
    echo DOMinnerHTML($table);
}

此脚本从 HTML 字符串中检索所有表,并使用DOMinnerHTML() 函数。

以上是如何使用PHP的DOM实现获取DOMNodes的innerHTML?的详细内容。更多信息请关注PHP中文网其他相关文章!

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