include 'simple_html_dom.php';
function getSslPage($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$html = getSslPage('http://forum.xda-developers.com/note-4-sprint');
$result = $html->find('.forumbox-header',0); //error here
echo $result;
我execpt的输出将是Sprint三星Galaxy Note 4,它有一类forumbox-header。我不知道我在那里说Fatal error: Call to a member function find() on a non-object
时出错了。
答案 0 :(得分:0)
您的getSslPage
函数返回string
($ url页面的html源代码)。
虽然返回的值是一个字符串,但您将其视为一个对象$html->find
,因此会将其视为错误。
致命错误:在非对象上调用成员函数find()
Simple Html DOM Parser库有2个函数来创建DOM对象:
file_get_html
- 从URL str_get_html
- 从字符串由于您已经拥有HTML字符串,因此只需按以下步骤编辑代码:
$html = str_get_html($html);
$result = $html->find('.forumbox-header',0);