2016-04-02 16 views
2

codeigniter için https://github.com/Lukeas14/codeigniter_crawler kullanmaya başladım ve harika çalışıyor. bir problem, librari, örneğin bu işlevine:php veya 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); 
} 

bu Açıklaması arama ve etiketleri gösterir, ancak html dosyası ile yazılı açıklama varsa 'küçük d' alışkanlık bulacaksınız, bu yüzden böyle bir şey yapmaya çalışıyorum ama çalışmayı başaramıyorum. benim denemem:

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); 
} 

Başka herhangi bir fikir? Teşekkürler

cevap

1

Koşullarınızın köşeli ayraçlarla sarılması gerekir. Ancak, if ifadenizi daha okunabilir hale getirmek için şu kodu öneririm:

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; 
}