PHP DOMDocument loadHTML错误

时间:2012-05-09 21:24:31

标签: php html parsing dom domdocument

它正在返回

  

(!)警告:DOMDocument :: loadHTML()[domdocument.loadhtml]:实体中错误的DOCTYPE声明,第8行的C:\ wamp \ www \ source.php中的行:3

代码:

<?php

    $url = "http://www.some-plain-html-website.com";

    $content = file_get_contents($url);

    $dom = new DOMDocument;
    $dom->loadHTML($content);

?>

由于某种原因,它不会解析$ content。如果我使内容成为$ content =“”之类的字符串;并且我通过元素标记名解析它没有问题,但是如果我给它返回file_get_content()方法它会产生该错误。

file_get_contents()的文档说它返回一个字符串但由于某种原因它无法工作我甚至尝试了$ content =(string)file_get_contents($ url);

同样感谢所有帮助。

2 个答案:

答案 0 :(得分:3)

在许多情况下,建议在libxml_use_internal_errors(true);

之前使用$dom->loadHTML($content);

这样就不会抛出警告,无论如何都会加载页面。

答案 1 :(得分:2)

您尝试抓取的html页面格式不正确。文档类型声明必须是文档的第一行。在使用loadHTML()加载内容之前,您可以尝试从内容中删除前两行。