加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

奇怪的错误使用PHP简单的HTML DOM解析器

发布时间:2020-12-13 16:33:04 所属栏目:PHP教程 来源:网络整理
导读:我正在使用这个库( PHP Simple HTML DOM解析器)来解析链接,这里是代码: function getSemanticRelevantKeywords($keyword){ $results = array(); $html = file_get_html("http://www.semager.de/api/keyword.php?q=". urlencode($keyword) ."lang=deout=html
我正在使用这个库( PHP Simple HTML DOM解析器)来解析链接,这里是代码:
function getSemanticRelevantKeywords($keyword){
    $results = array();
    $html = file_get_html("http://www.semager.de/api/keyword.php?q=". urlencode($keyword) ."&lang=de&out=html&count=2&threshold=");
    foreach($html->find('span') as $e){
            $results[] = $e->plaintext;
    }
    return $results;
}

但是当我输出结果时我收到这个错误:

Fatal error: Call to a member function find() on a non-object in
/var/www/vhosts/efamous.de/subdomains/sandbox/httpdocs/getNewTrusts.php
on line 25

(第25行是foreach循环),奇怪的是它输出所有内容(至少看似完整),但我仍然收到错误,无法弄清楚为什么.

这个错误通常意味着$html不是一个对象.

很奇怪,你说这似乎是有效的.如果输出$html会怎么样?
我想像这个url是不可用的,$html是空的.

编辑:
看起来这可能是解析器中的错误.有人提交了一个bug,并在他的代码中添加了一个检查作为解决方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读