如何输出DOMDocuments?

时间:2010-09-25 14:22:27

标签: php dom

也许我错过了一些东西......但是在这段代码中DOM对象是空的:

$input = file_get_contents('http://www.google.com/');
$doc = new DOMDocument();
@$doc->loadHTML($input); //supress errors on invalid html!
var_dump($doc);
die();

我真的不知道该代码有什么问题。我已经验证$ input实际上已填充了网页的html内容。

输出是:     object(DOMDocument)#3(0){}

我不明白为什么......

3 个答案:

答案 0 :(得分:6)

这是预期的行为。要查看HTML,请使用DOMDocument::saveHTML()(或saveXML())。

答案 1 :(得分:2)

  

输出为:object(DOMDocument)#3(0){}

是。这就是var_dump ed DOMDocument的样子。

如果您想查看文档内的 内容的HTML表示,请在其上saveHTML()。这样就可以在Google的主页上为我清除HTML版本。

答案 2 :(得分:0)

试试这个     

$input = file_get_contents('http://www.google.com/');
$doc = new DOMDocument();
$test=@$doc->loadHTML($input); //supress errors on invalid html!
var_dump($test);
die();
//output
//bool(true)
?>

或尝试

$input = file_get_contents('http://www.google.com/');

$buffer = ob_get_clean();
$tidy = new tidy();
$input = $tidy->repairString($input);

$doc = new DOMDocument();
@$doc->loadHTML($input); //supress errors on invalid html!
var_dump($doc);
die();