3

它回来了

( ! ) 警告: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);

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

4

2 回答 2

6

在许多情况下,建议先libxml_use_internal_errors(true);使用$dom->loadHTML($content);

这样就不会引发警告,并且无论如何都会加载页面。

于 2015-07-22T21:59:26.737 回答
2

您尝试抓取的 html 页面格式不正确。文档类型声明必须是文档的第一行。您可以尝试在使用loadHTML().

于 2012-05-09T21:37:38.827 回答