Отправить заявку

Как получить все картинки с HTML страницы

Понадобилось выполнить парсинг всех изображений с одного ресурса. На помощь пришли регулярные выражение и конечно же PHP (не самый великий и могучий язык для парсинга необходимой информации, но вполне подходящий для этих целей). Если немного видоизменить код - можно выбирать с нужной страницы абсолютно любые данные, будь то ссылки (внутренние, внешние) или электронные адреса или файлы - да вообщем все, что душе угодно.

$data  = ''; // HTML страница, например полученная при помощи file_get_content():
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $data, $media);
unset($data);
$data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i', "$3", $media[0]);
 
foreach ($data as $url) {
    $info = pathinfo($url);
    if (isset($info['extension'])) {
        if (($info['extension'] == 'jpg') ||
                ($info['extension'] == 'jpeg') ||
                ($info['extension'] == 'gif') ||
                ($info['extension'] == 'png'))
            array_push($images, $url);
    }
}

Можно просмотреть наш собранный массив:

print_r($images);

Далее можно делать с этим массивом то, что требуется в поставленной задаче.

Другие публикации