如何从PHP中获取元素的innerhtml


How to get innerhtml of an element from PHP

我有两个文件:mainpage.html和recordinput.php

我需要从php文件中的mainpage.html获取div的innerhtml。

我在这里复制了代码:

在我的php文件中,我有

$dochtml = new DOMDocument();
//libxml_use_internal_errors(true);
$dochtml->loadHTMLFile("mainpage.html");
$div = $dochtml->getElementById('div2');
$div2html = get_inner_html($div);
echo "store information as: ".$div2html;

function get_inner_html(DOMNode $elem ) 
{
    $innerHTML = " ";
$children = $elem->childNodes;
foreach ($children as $child)
{
    $innerHTML .= $elem->ownerDocument->saveHTML( $child );
}
echo "function return: ".$innerHTML."<br />";
return $innerHTML;
 }

退货只是空的。有人帮我吗?我花了两天时间在这上面。我觉得问题就在这里:

$dochtml->loadHTMLFile("mainpage.html");

感谢

PHP DOMDocument已经提供了在选择器之间检索内容的功能。以下是的操作方法

$div = $dochtml->getElementById('div2')->nodeValue;

所以你不需要制作自己的函数。

如果您希望获得包含所有嵌套标签的div内容,那么您可以这样做:

echo $div->ownerDocument->saveHTML($div);

示例:http://3v4l.org/GCbJk

请注意,这包括div2标签本身,您可以很容易地将其剥离。