php - Uncaught Error : Call to a member function find() on boolean

标签 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中的url显示的,但是无论搜索什么元素,find()都会发生错误。从我阅读的其他解决方案中,它们指出要增加simple_html_dom.php中的MAX_FILE_SIZE和/或从该文件中的strlen($str) > MAX_FILE_SIZE中删除function str_get_html。这些选项均无效。

任何帮助,将不胜感激。

最佳答案

从我阅读的内容来看,find()无法正常工作,因为它无法将DOM识别为对象。我不确定我是否完全理解为什么,但是我能够将代码放入if语句中,并且如果url存在,则继续执行代码。这似乎有效。这可能只是一个临时解决方案,但是由于我还没有找到其他解决方案,因此我将继续这样做。

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

关于php - Uncaught Error : Call to a member function find() on boolean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45018807/

相关文章:

php - preg_match 始终返回 0

php - 我们什么时候应该在 PHP 中使用流包装器和套接字?

javascript - 分解原始错误以使用数组返回mongodb错误的无效数据

mysql - 数据库充满重复条目

php - 简单的 html dom 查找未指定的元素

php - 带有变量的 MySQL 存储过程第一步错误#1111

php - 检查数组中的值并创建 php if 语句

php - PHP-返回多个状态,而不仅仅是true/false

PHP 简单 HTML DOM 解析器调用非对象上的成员函数 children()

PHP 简单 html DOM 从 html 标签中删除所有属性