开发者

PHP How to get only the first image after a getimagesize judgement

开发者 https://www.devze.com 2023-02-14 06:13 出处:网络
I use simple_html_dom and url_to_absolute get all the image from one site. but after a getimagesize judgement, how to echo only the first image? not the all? Thanks.

I use simple_html_dom and url_to_absolute get all the image from one site. but after a getimagesize judgement, how to echo only the first image? not the all? Thanks.

<?php
set_time_limit(0);
require_once('simple_html_dom.php');
require_once('url_to_absolute.php');

$url = 'http://matthewjamestaylor.com/blog/how-to-post-forms-to-clean-rewritten-urls';

$html = file_get_html($url);

foreach($html->find('img') as $element) {
    $src= url_to_absolute($url, $element->src);//get http:// imgaes

    if(preg_match('/\.(jpg|png|gif)/i',$src)){
    $arr = getimagesize($src);

        if ($arr[0] >= 100 and $arr[1] >= 100) { //width and height over 100px
            echo '<img src="'.$src.'" />'; // in here ,how to echo only the first ima开发者_StackOverflowge? not the all?
        }

    }

}

?>


Break foreach loop after first image:

if ($arr[0] >= 100 and $arr[1] >= 100) { 
   echo '<img src="'.$src.'" />'; 
   break;
}

More on break.


It looks like that, simple_html_dom supports getting the Nth element. If you really only need the first image, just use:

$html->find('img', 0)
0

精彩评论

暂无评论...
验证码 换一张
取 消