一尘不染

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

php

我正在使用此库(PHP简单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;
}

但是在输出结果时出现此错误:

致命错误:在第25行的/var/www/vhosts/efamous.de/subdomains/sandbox/httpdocs/getNewTrusts.php中的非对象上调用成员函数find()

(第25行是foreach循环),奇怪的是它(至少在表面上)正确地输出了所有内容,但我仍然收到该错误,无法弄清原因。


阅读 199

收藏
2020-05-29

共1个答案

一尘不染

此错误通常意味着$ html不是对象。

奇怪的是,您说这似乎有效。如果输出$ html会怎样?我以为网址不可用,而$ html为空。

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

2020-05-29