我有以下代码片段 - echo'ing $ msn为我提供了预期的完整html输出。但是,$ dom-> loadHTMLFile给了我一个例外:
警告:DOMDocument :: loadHTMLFile()[domdocument.loadhtmlfile]:I / O 警告:无法加载外部实体
不确定我做错了什么?它是一段简单的代码..
$dom = new DOMDocument();
$msn = file_get_contents("http://moneycentral.msn.com/");
echo $msn;
echo "<br><br>";
$html = $dom->loadHTMLFile($msn);
答案 0 :(得分:6)
loadHTMLFile获取您尝试加载的文件的路径。你实际做的是将HTML标记作为参数传递给它。当然,它失败了。
你需要做
$html = $dom->loadHTMLFile("http://moneycentral.msn.com/");
或
$html = $dom->loadHTML($msn);
答案 1 :(得分:1)
您想要的是loadHTML
而不是loadHTMLFile
。后者是打开文件,而不是文件的内容。 $msn
的值包含内容,而不是文件本身的URL。
答案 2 :(得分:0)
尝试这种构造:
connection