PHP Как получить только первое изображение после оценки размера - PullRequest
0 голосов
/ 01 марта 2011

Я использую simple_html_dom и url_to_absolute, чтобы получить все изображения с одного сайта. но после суждения getimagesize, как повторить только первое изображение? не все? Спасибо.

<?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 image? not the all?
        }

    }

}

?>

Ответы [ 2 ]

1 голос
/ 01 марта 2011

Разрыв цикла foreach после первого изображения:

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

Подробнее о разрыве .

0 голосов
/ 01 марта 2011

Похоже, simple_html_dom поддерживает получение N-го элемента.Если вам действительно нужно только первое изображение, просто используйте:

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