Как получить все картинки с 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);

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



Поделиться с друзьями:

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



Написать комментарий через:

 
       
  • ВКонтакте
  •        
  • Локальный блог
  •  
 
 

Ваш отзыв

Имя *

Почта (скрыта) *

Сайт

Напишите цифрами двa вoceмь двa *

Сообщение

Отзывов (2) на «Как получить все картинки с HTML страницы»

  1. NetDeviator пишет:

    Использовал для удаления всех картинок в своей CMS-системе.

    Когда удаляется статья из блога, скриптом беру все картинки из неё и удаляю их на сервере.

    Колупаться с регуляркой не хотелось, а тут вон какое “готовенькое”.

    Выражаю СПАСИБО капсом! :)

  2. NetDeviator пишет:

    В первой строке надо
    file_get_contents
    а не
    file_get_content

    Буковку S забыли :)

 
Статьи пользователей на ArtKiev Design Studio