我使用简单的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
任何人都可以帮助我解决错误。提前谢谢
答案 0 :(得分:4)
我找到了解决方案, 解决方案是: -
simple_html_dom的最新版本中有bug ...所以不要 使用来自sourceforge的simplehtmldom_1_5文件...更好用 来自sourceforge的simplehtmldom_1_10工作正常。
simplehtmldom_1_5中的错误: -
任何网站的网址都不起作用。您可以提供html文件的URL,但是 网站网址不起作用它之后没有识别你的对象$ html 阅读网址......
希望它可以帮助面临类似问题的人....
答案 1 :(得分: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);