我正在使用 simplephpdom 用于查找一个特殊页面的标题,如下所示:
function get_title_with_dom($url) {
$amounts = array();
$html = file_get_html($url);
$elements = $html->find('title');
return trim($elements[0]->innertext);
}
所以,现在有一个没有标题的页面存在问题!
我会收到此错误:
致命错误:在......
中的非对象上调用成员函数find()
那么,我怎么说,如果找不到元素,那么返回 NULL 或 FALSE ?
我尝试使用这样的打击功能,但它不起作用(像上面的代码一样工作):
function get_title_with_dom($url) {
$amounts = array();
$html = file_get_html($url);
if (!($html->find('title'))) {
return false;
} else {
$elements = $html->find('title');
return trim($elements[0]->innertext);
}
}
答案 0 :(得分:1)
您不需要str_get_html
和file_get_html
。如果您正在提供网址,请使用file_get_html
。
function get_title_with_dom($url) {
$data = false;
$html = file_get_html($url);
$title = $html->find('title', 0);
if($title) {
$data = $title->innertext;
}
return $data;
}
var_dump(get_title_with_dom('http://www.google.com')); // Google
var_dump(get_title_with_dom('http://codepad.viper-7.com/moj97E')); // bool(false)