本地服务器上的 PHP 简单 HTML DOM 解析器

Posted

技术标签:

【中文标题】本地服务器上的 PHP 简单 HTML DOM 解析器【英文标题】:PHP Simple HTML DOM Parser on a local server 【发布时间】:2019-05-17 00:31:59 【问题描述】:

可能导致“php 简单 html DOM 解析器”在本地服务器上无法工作的原因。会不会是配置问题?

PHP 版本 7.2.12

<?php

include('simple_html_dom.php');

$html = file_get_contents('http://www.google.com/');
$html->load($html);

?>

给出以下错误:

致命错误:未捕获的错误:调用成员函数 load() on string in ..... Stack trace: #0 main throw in ..... on line .....

【问题讨论】:

试试file_get_html而不是file_get_contents 您试图调用load$html 方法,即字符串 【参考方案1】:

阅读manual(这始终是一个选项)表明load 函数在simple html dom 的实例上被调用

// Create a DOM object
$html = new simple_html_dom();

// Load HTML from a string
$html->load('<html><body>Hello!</body></html>');

所以,你的代码应该改写为:

$html = new simple_html_dom();
$html->load(file_get_contents('http://www.google.com/'));

作为旁注 - 还有 更多 方法可以将内容加载到 simple_html_dom,例如 file_get_htmlstr_get_html

【讨论】:

以上是关于本地服务器上的 PHP 简单 HTML DOM 解析器的主要内容,如果未能解决你的问题,请参考以下文章