简单的html dom解析器错误在布尔值上找到函数

时间:2017-03-09 18:46:22

标签: php html curl

$html = file_get_html($response);
$displaybody = $html->find('div[id="item"]');
echo $displaybody->plaintext

我正在使用html dom解析器并使用find()函数但是我得到了这样的错误:

PHP致命错误:未捕获错误:在布尔值

上调用成员函数find()

有人可以告诉我为什么吗?

2 个答案:

答案 0 :(得分:0)

PHP致命错误:未捕获错误:在布尔值上调用成员函数find()

这通常意味着Unsafe.defineAnonymousClass是假的或未找到。

我建议你输出$ html来控制或记录并验证div id" item"实际上就在那里。

还可以使用find('div[id="item"]')库并使用DOMDocument

getElementById

应抓住'项目的第一个实例' (假设你想要第一个不止一个)

答案 1 :(得分:0)

尝试这个对我有用的答案。

此错误的原因是:如果来自url的响应大小大于600000,则简单的HTML DOM不会返回该对象。 您可以通过更改simple_html_dom.php文件来使其无效。从strlen($contents) > MAX_FILE_SIZE功能的if条件中删除file_get_html。这将解决您的问题。

这是链接https://stackoverflow.com/a/26773587/2513964