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

时间:2017-07-10 18:00:32

标签: php error-handling simple-html-dom drupal-8

尝试从DOM中捕获元素时,我一直收到此错误。

$html=file_get_html("some url here");
echo $html;
$ret = $html->find('a'); 
echo $ret;

我可以看到当我打印file_get_html时,$html中的网址显示的是实际页面,但无论搜索的是哪个元素,都会出现find()错误。从我读过的其他解决方案中,他们声明要增加simple_html_dom.php中的MAX_FILE_SIZE和/或从该文件中的strlen($str) > MAX_FILE_SIZE中删除function str_get_html。这些选项都没有奏效。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

从我读过的内容看来,find()不会起作用,因为它不能将DOM识别为对象。我不确定我完全理解为什么,但是我能够将我的代码抛到if语句中,如果url存在,那么继续执行代码。这似乎有效。它可能只是一个临时的解决方案,但由于我没有找到任何其他的,这就是我要去的地方。

if($html){
  $ret = $html->find('a'); 
  echo $ret;}