php中的simple_html_dom。错误:在非对象上调用成员函数find()

时间:2011-12-31 14:02:37

标签: php dom

生成代码时出错:

function find($selector, $idx=null, $lowercase=false) {
        return $this->root->find($selector, $idx, $lowercase);
}

我使用simple_htm_dom来解析html字符串并计算某些标签中某些单词的出现次数。当我在浏览器中运行php文件时,结果会正确显示。但是当它使用PDT在Eclipse中运行时,它会在非对象上给出上述调用错误。我试过调试它,它说$ this-> root没有设置。但是在浏览器中运行代码可以得到正确的结果。

我环顾四周,这个问题经常发布。有人还提交了bug的解决方法。使用他的解决方法根本不会给我任何结果,因为$ this-> root永远不会被设置。

1 个答案:

答案 0 :(得分:0)

在访问$this->root之前,您需要确保它是否包含您期望的对象。

如果它不包含您期望的对象,请确保正确调用该函数,例如如果在浏览器中执行该函数时调用该函数,则在eclipse控制台中执行单个文件时,可能会使用不同的类。

您也可以在eclipse中的浏览器中打开页面。

您可以在两种情况下(浏览器或控制台)运行调试器。调试通常会显示原因的根源在哪里,然后您可以决定如何解决它。