如何从PHP获取元素的innerhtml

时间:2015-03-16 17:39:48

标签: php

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

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

我在这里复制了代码:

在我的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");

由于

2 个答案:

答案 0 :(得分:4)

PHP DOMDocument已经提供了在选择器之间检索内容的功能。这是你如何做的

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

所以你不需要自己动手。

答案 1 :(得分:2)

如果您正在寻找包含所有嵌套代码

的div内容,那么您可以这样做:

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

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

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