PHP simple_html_dom找到

时间:2012-11-26 22:42:03

标签: php simple-html-dom

我有几个页面,我从中获取HTML。 $ html是每页都有html的对象。我现在从页面获取图像,有些页面有一个图像,有些页面没有任何图像。如果页面没有图像,我想在数组中放置一个值,如empty。所以我需要类似if($html->find('img')==null)的内容,但我无法找到simple_html_dom的解决方案。有任何想法或其他方式吗?

//using simple_html_dom

public function GetImages($dataArray) {
    $url = 'http://page/';

    foreach ($dataArray as $link) {
        $html = file_get_html($url . $link);
        if(is_object($html)){

            foreach ($html->find('img') as $image) {

                $images[] = $image->src;
            }

        }

    }
    return $images;
}

2 个答案:

答案 0 :(得分:0)

我不完全理解你的问题,但如果你拉一页你可以使用
if( isset($html->find("img")) )检查属性是否已设置。

// If page has any images you will add their src path to images array
if( isset($html->find("img")) )
{
    for($html->find('img') as $image) {
       if(isset($image))
       {
           $images[] = $image->src;
       } else {
           $images[] = 'Empty';
       }
    }
}

最好使用if(isset($image->src)),如果你可以重写你的问题就能更好地帮助。

答案 1 :(得分:0)

simple_html_dom开发停止YEARS AGO ..使用积极开发的DOMDocument(http://php.net/manual/en/class.domdocument.php),而不是simple_html_dom ...无论如何

if(count($html->find('img'))==0){$noImages=true;};

(在DOMDocument中,你使用$ domd-> getElementsByTagName(“img”),就像在javascript webdev中一样)