php if 或 codeigniter
php if or codeigniter
我已经开始使用 https://github.com/Lukeas14/codeigniter_crawler 作为 codeigniter,效果很好。
一个问题,在图书馆,关于这个功能例如:
public function get_description(){
if(!$page_description = $this->dom->find('head meta[name=Description]', 0)){
return false;
}
return $this->clean_text($page_description->content);
}
这将在描述中搜索并显示标签,但是如果 html 文件的描述是用 'small d' 写的,它不会找到它,所以我试图做这样的事情,但我做不到设法让它发挥作用。
我的尝试:
public function get_description(){
if(!$page_description = $this->dom->find('head meta[name=Description]', 0) || !$page_description = $this->dom->find('head meta[name=description]', 0) ){
return false;
}
return $this->clean_text($page_description->content);
}
还有其他想法吗?谢谢
您的条件需要用方括号括起来。但是为了使您的 if
语句更具可读性,我建议使用以下代码:
public function get_description(){
$page_description = $this->dom->find('head meta[name=Description]', 0) ?: $this->dom->find('head meta[name=description]', 0);
return $page_description ? $this->clean_text($page_description->content) : false;
}
我已经开始使用 https://github.com/Lukeas14/codeigniter_crawler 作为 codeigniter,效果很好。 一个问题,在图书馆,关于这个功能例如:
public function get_description(){
if(!$page_description = $this->dom->find('head meta[name=Description]', 0)){
return false;
}
return $this->clean_text($page_description->content);
}
这将在描述中搜索并显示标签,但是如果 html 文件的描述是用 'small d' 写的,它不会找到它,所以我试图做这样的事情,但我做不到设法让它发挥作用。 我的尝试:
public function get_description(){
if(!$page_description = $this->dom->find('head meta[name=Description]', 0) || !$page_description = $this->dom->find('head meta[name=description]', 0) ){
return false;
}
return $this->clean_text($page_description->content);
}
还有其他想法吗?谢谢
您的条件需要用方括号括起来。但是为了使您的 if
语句更具可读性,我建议使用以下代码:
public function get_description(){
$page_description = $this->dom->find('head meta[name=Description]', 0) ?: $this->dom->find('head meta[name=description]', 0);
return $page_description ? $this->clean_text($page_description->content) : false;
}