【问题标题】:PHP DOMDocument loadHTML errorPHP DOMDocument loadHTML 错误
【发布时间】:2012-05-18 10:52:18
【问题描述】:

它回来了

( ! ) 警告:DOMDocument::loadHTML() [domdocument.loadhtml]: Misplaced DOCTYPE declaration in Entity, line: 3 in C:\wamp\www\source.php on line 8

代码:

<?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);

同样的事情,提前感谢所有帮助。

【问题讨论】:

    标签: php html parsing dom domdocument


    【解决方案1】:

    在许多情况下,建议在$dom-&gt;loadHTML($content); 之前使用libxml_use_internal_errors(true);

    这样就不会抛出警告,页面还是会被加载。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 查看 PHP 文档以了解如何操作字符串......................................
      猜你喜欢
      • 2012-02-27
      • 2017-01-02
      • 2014-03-10
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 2014-06-15
      • 2014-02-16
      相关资源
      最近更新 更多