Хочу рассказать Вам все о сайтах, что узнал сам за 15 лет.
Блог Виталия Жукова Vitalik.WS Свой сайт с нуля - легко!
Обо мне, как об авторе блога.
Подробнее
Vitalik.WSЗаметки → Как найти первое изображение в тексте, пример на PHP

Как найти первое изображение в тексте, пример на PHP
Заметка на тему: PHP, DLE

На одном из проектов, связанном непосредственно с играми, мне захотелось сделать блок "последние статьи" и для этого в первую очередь требовался вывод картинки-превью (уменьшенной копии оригинальной картинки). Все остальное было элементарно: запрос в БД, парсинг списка.

На этом сайте используется движок DLE, но задача свелась к элементарному PHP: нужно найти/получить первое изображение из контента статьи. Дальше можно уменьшить картинку средствами CSS и все идеально.

Так вот, задача вытаскивания первой картинки была решена мною через регулярные выражения, вот таким кодом (первые 5 строк - комментарии для понимания, как это работает, можно их не копировать):
//$thisContent - переменная с контентом, 
//в котором есть изображение, которые нам и нужно вытащить.
//Прогоняем контент через регулярку, 
//ищем все изображения и помещаем их в массив $regexResult.
//А потом при помощи array_pop() выбираем именно путь к нашей первой картинке.
preg_match('/<img(.*)src(.*)=(.*)"(.*)"/U', $thisContent, $regexResult);
$firstImgScr = array_pop($regexResult);

Теперь в переменной $firstImgScr содержится первая найденная картинка, а точнее scr путь до нее для вставки непосредственно в тег img.

Вывести изображение можно будет, например, вот так:
echo '<img src="'.$firstImgScr.'" />';


Вот и все. Удачных вам статей и побольше интересных изображений! Специально для Вас, Vitalik.

Все комментарии к заметке "Как найти первое изображение в тексте, пример на PHP"

  • Серега
    Ответить
    Комментарий #48.8
    Спасибо огромное!
    добавлен 10 марта 2017 в 11:05
Написать свой комментарий:
Отправить
ВНИМАНИЕ! Пожалуйста НЕ пишите в комментариях рекламу, оскорбления, бессмыслицу и прочие проявления интернет-нечисти, так как эти сообщения всеравно не будут опубликованы. Пишите исключительно по теме и ваш комментарий обязательно будет опубликован, а возможно и прокомментирован.
 Подписывайтесь на мой блог
Хотите первыми узнавать о самом интересном? Тогда подпишитесь на рассылку новостей.
Подписаться
Подписавшись на рассылку, Вы всегда будете в первую очередь узнавать о самой важной и полезной для блоггеров и веб-мастеров информации.