$html = file_get_html($response);
$displaybody = $html->find('div[id="item"]');
echo $displaybody->plaintext
我正在使用html dom解析器并使用find()函数但是我得到了这样的错误:
PHP致命错误:未捕获错误:在布尔值
上调用成员函数find()有人可以告诉我为什么吗?
答案 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
。这将解决您的问题。