如果找到phpsimpledom元素失败

时间:2014-08-09 11:55:36

标签: php html dom simple-html-dom

我正在使用 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);
}
}

1 个答案:

答案 0 :(得分:1)

您不需要str_get_htmlfile_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)