当前位置: 首页 > 面试题库 >

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

吉毅
2023-03-14
问题内容

我正在使用此库(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循环),奇怪的是它(至少在表面上)正确地输出了所有内容,但我仍然收到该错误,无法弄清原因。


问题答案:

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

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

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



 类似资料:
  • 问题内容: 我正在使用此代码: 但是在编译时出现此错误: 然后是堆栈跟踪的编译器错误。 我将在课堂开始时同时进行这两种导入: 有什么事吗 在Netbeans中,我看到自动完成选项并且Locale对象没有语法错误… 问题答案: 您的设置有些麻烦,下面的程序对我来说很好用。 它要求源代码的事实使我相信它正在尝试以某种调试模式进行编译或运行。您不需要编译java.util。*的源代码,这很奇怪。 看看我

  • 当使用具有所有默认设置的时,我在使用S Pen时发现了一些奇怪的错误: 如果你打开旋转器并将S笔悬停在列表的底部,这样它就会滚动到底部,然后向上提起S笔(这样悬停圈就消失了),列表就会跳回到顶部 如果你打开旋转器,悬停在列表底部的S笔,所以它滚动到底部,然后选择一个选项,有时(间歇性-也许大约1/4次)它会忽略所选的选项,然后跳回来到顶部 我正在一台平板设备上进行横向测试,该设备运行的是Andro

  • 我从凯拉斯搬到了皮托克。我对搬到CUDA这件事很陌生。我花了好几个小时在网上冲浪,却什么都没找到?修复可能是一两行。如果有人知道如何解决这个问题,我会很感激的? 下面是我的代码,首先我将我的u-net模型定义为一个nn类。类似于以下代码的模块: 然后我像下面的代码一样运行我的unet。请注意,在定义模块时,我将其设置为cuda。我还将输入数据及其标签设置为cuda。 但是我得到了这个错误: Run

  • 问题内容: 我目前正在开发一个纯粹的HTML和JavaScript驱动的Web应用程序,该应用程序使用CORS来使用远程Web服务,但目前在IE 11发出GET请求时遇到了麻烦。有趣的是,我们在IE8 / 9/10中可以正常运行,而不仅仅是11。 问题是IE 11似乎超时,而不是等待服务器的响应。ajax调用很简单: 在“网络”选项卡中,使用Fiddler,我可以看到IE从不发送请求。 请问有人有

  • 我最近开始了我的第一个libGDX游戏,一切都进行得很好,所有的东西都呈现得很好,但是大约一分钟后什么都没有呈现,呈现调用仍然被发出,并且spritebatch工作得很好,我只是留下了一个黑屏,我甚至把'gl clearcolor()'改成了但我仍然留下了一个黑屏。我不知道这会是什么。 我的主要类: 编辑:我们已经确定,经过一段时间SpriteBatch渲染一个黑色屏幕的红色清晰颜色,它也停止渲染

  • 所以我在做这个素数家庭作业,举了一个很好的例子,我想我已经把大部分都记下来了。我遇到的一件事是“公共静态空隙筛(int n)”一行的错误,这也发生在“私有静态int twinPrime()”中 代码如下: 以下是错误: void是变量筛的无效类型 预期令牌 "(", ; 语法错误 令牌 “)” 上的语法错误, ;预期 和 标记“int”语法错误,应为@ 语法错误,请插入“EnumBody”以完成B