1

我有几个页面可以从中获取 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;
}
4

2 回答 2

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))如果您可以重写您的问题将能够提供更好的帮助,那么使用它会更好。

于 2012-11-26T22:48:59.613 回答
0

simple_html_dom 开发在几年前就停止了.. 使用积极开发的 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 中一样)

于 2015-06-02T08:18:52.393 回答