Найти img src (PHP)

Найти все изображения (атрибут src у тега <img>) в тексте, можно при помощи регулярного выражения и функции int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] ).

Пример

Например у нас есть файл test.html и нужно найти все атрибуты src у изображений.

test.html

<!DOCTYPE HTML><html><head><meta charset="utf-8"><title>Вырезаем изображения</title></head><body> <img src="http://expange.ru/images/1/1/207-130px.jpg" alt="Литр свежевыжатого апельсинового сока"> <img src="http://expange.ru/images/1/1/204-130px.jpg" alt="Соковыжималка"> <img src="http://expange.ru/images/1/1/206-130px.jpg" alt="Выжимаем сок"> <img src="http://expange.ru/images/1/1/208-130px.jpg" alt="Апельсиновый сок"> <img src="http://expange.ru/images/1/1/196-130px.gif" alt="Закрашенный круг"> <img src='http://expange.ru/images/1/1/198-130px.gif' alt="Векторный круг в выделение"> <img src='http://expange.ru/images/1/1/200-130px.gif' alt="Параметры наложения (Blending options)"> <img src='http://expange.ru/images/1/1/202-130px.gif' alt="Круг с рамкой (PhotoShop)"> <img src='http://expange.ru/images/1/1/195-130px.gif' alt="Фотошоп. Как нарисовать круг."> <img src="http://expange.ru/images/1/1/197-130px.gif" alt="Векторный круг (PhotoShop)"> <img src="http://expange.ru/images/1/1/199-130px.gif" alt="Закрашиваем выделенную область"> <img src="http://expange.ru/images/1/1/201-130px.gif" alt="Свойства слоя (PhotoShop)"> <img src="http://expange.ru/images/1/1/193-130px.gif" alt="Нарисовать линию в фотошопе"> <img src="http://expange.ru/images/1/1/194-130px.gif" alt="Как нарисовать линию (PhotoShop)"> <img src="http://expange.ru/images/1/1/189-130px.gif" alt="Многоуровневое выпадающее меню (JavaScript)"> <img src='http://expange.ru/images/1/1/188-130px.gif' alt="Выпадающее меню (JavaScript)"> <img src='http://expange.ru/images/1/1/190-130px.gif' alt="Drop Down Menu (JavaScript)"> <img src='http://expange.ru/images/1/1/185-130px.png' alt="Гаечный ключ → Параметры (Google Chrome)"> <img src='http://expange.ru/images/1/1/178-130px.png' alt="Параметры безопасности. Включение JavaScript."> <img src='http://expange.ru/images/1/1/187-130px.png' alt="Настройки содержания"> </body></html>

preg_image.php

Скрипт preg_image.php будет брать текст файла test.html и искать изображения.

<?php $content = file_get_contents('test.html'); preg_match_all('/<img[^>]+src="?\'?([^"\']+)"?\'?[^>]*>/i', $content, $images, PREG_SET_ORDER); foreach ($images as $image) { echo $image[1] . '<br>'; }

Результат

В результате выполнения скрипта preg_images.php, на экран будет выдан следующий результат:

http://expange.ru/images/1/1/207-130px.jpg
http://expange.ru/images/1/1/204-130px.jpg
http://expange.ru/images/1/1/206-130px.jpg
http://expange.ru/images/1/1/208-130px.jpg
http://expange.ru/images/1/1/196-130px.gif
http://expange.ru/images/1/1/198-130px.gif
http://expange.ru/images/1/1/200-130px.gif
http://expange.ru/images/1/1/202-130px.gif
http://expange.ru/images/1/1/195-130px.gif
http://expange.ru/images/1/1/197-130px.gif
http://expange.ru/images/1/1/199-130px.gif
http://expange.ru/images/1/1/201-130px.gif
http://expange.ru/images/1/1/193-130px.gif
http://expange.ru/images/1/1/194-130px.gif
http://expange.ru/images/1/1/189-130px.gif
http://expange.ru/images/1/1/188-130px.gif
http://expange.ru/images/1/1/190-130px.gif
http://expange.ru/images/1/1/185-130px.png
http://expange.ru/images/1/1/178-130px.png
http://expange.ru/images/1/1/187-130px.png

Категории

ПрограммированиеPHPРегулярные выраженияРегулярные выражения в PHP

Комментарии