1

我正在使用简单的 html dom 来解析 html 页面.....这是我的代码..

include('simple_html_dom.php');


$html = file_get_html($my_url);


foreach($html->find('div') as $ul) {
     echo $ul;
   }

而且我还尝试了许多其他方法。我仍然收到此错误。错误:

 Call to a member function find() on a non-object

我也尝试过其他标签...

  $html->find('a');
  $html->find('h3');
  //But still same above error

谁能帮我解决这个错误..提前谢谢

4

2 回答 2

4

好吧,我找到了解决方案,解决方案是:-

最新版本的 simple_html_dom 有错误......所以不要使用 sourceforge 的 simplehtmldom_1_5 文件......最好使用 sourceforge 的 simplehtmldom_1_10 它工作正常。

simplehtmldom_1_5 中的错误:-

任何网站的网址在这里都不起作用。您可以提供 html 文件的 url,但站点 url 不起作用读取 url 后无法识别您的对象 $html....

希望它可以帮助面临类似问题的人....

于 2013-03-15T04:48:37.520 回答
0

您正在使用 cakephp,因此您不能像这样使用它。

您需要创建vendor( for controller )create helper( for view ).

并且$html已经为$html helper.

供供应商加载

App::import('Vendor', 'HTMLDOM', array('file' => 'HtmlDom' . DS . 'simple_html_dom.php'));

为帮手。

App::import('Helper', 'HtmlDom');
$NewHtmlDom = new SimpleHtmlDom; 

$fileContent = $NewHtmlDom->file_get_html($my_url);
于 2013-03-15T04:18:08.703 回答