Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php domDocument未返回节点信息_Php_Dom_Domdocument - Fatal编程技术网

Php domDocument未返回节点信息

Php domDocument未返回节点信息,php,dom,domdocument,Php,Dom,Domdocument,我正在尝试获取外部页面的DOM元素。根据我正在尝试的其他帖子: $html = htmlentities(file_get_contents('http://www.slate.com')); $dom = new domDocument; $dom->loadHTML($html); echo "<pre>"; var_dump($dom); echo "</pre>"; $html=htmlentities(文件获取内容('http://www.sla

我正在尝试获取外部页面的DOM元素。根据我正在尝试的其他帖子:

$html = htmlentities(file_get_contents('http://www.slate.com'));    
$dom = new domDocument;
$dom->loadHTML($html);
echo "<pre>";
var_dump($dom);
echo "</pre>";
$html=htmlentities(文件获取内容('http://www.slate.com'));    
$dom=新的domDocument;
$dom->loadHTML($html);
回声“;
var_dump($dom);
回声“;
(Html实体消除警告,但在其他方面与忽略警告的结果相同)

根据我读到的内容,这应该返回父/子节点中的各种DOM部分。但是上面代码的结果不包含DOM节点,只包含一个包含整个HTML页面的巨大“textContent”元素


谢谢你对我做错的想法。

你应该考虑使用PHPQuQuy()。< /P> < P>你正在寻找

DOMNode
这将返回一个

function dump(DOMNode $node)
{
    echo $node->nodeName;
    if ($node->hasChildNodes())
    {
        echo '<div style="margin-left:20px; border-left:1px solid black; padding-left: 5px;">';
        foreach ($node->childNodes as $childNode)
        {
            dump($childNode);
        }
        echo '</div>';
    }
}

dump($dom->documentElement);
反对


另外:去掉
htmlentities
,因为这会弄乱您获取的HTML代码。e、 g.:
如果您想显示警告,请使用
libxml\u使用内部错误(true)
。你不能在
htmlentities
之后加载DomDocument因为我们不知道@daprezjer在干什么,所以看起来就像在麻雀身上开大炮……让我找到了需要去的地方。谢谢
function dump(DOMNode $node)
{
    echo $node->nodeName;
    if ($node->hasChildNodes())
    {
        echo '<div style="margin-left:20px; border-left:1px solid black; padding-left: 5px;">';
        foreach ($node->childNodes as $childNode)
        {
            dump($childNode);
        }
        echo '</div>';
    }
}

dump($dom->documentElement);