Как вытащить ссылки на картинки из HTML с помощью PHP
Есть задача: надо из HTML-элемента вытащить ссылки на картинки. Есть, например, код:
<p><img align="left" alt="" src="images/stories/342_2121.jpg" /></p>
<p>Уважаемые покупатели!<br />
Мы рады представить Вам новую версию нашего сайта!</p>
Наша задача вытащить ссылку на картинку и удалить данный HTML-тег. Используем регулярные выражения:
// объявляем массив
$result = array();
// с помощью регулярного выражения из $item->introtext мы получаем массив путей $result
preg_match_all('/<img[^>]*?src=\"(.*)\"/iU', $item->introtext, $result);
if (isset($result[1][0])) // если не пусто, то выводим картинку
{
$item->img = '<img src="'.$result[1][0].'" alt="'.$item->title.'" />';
}
Чтобы удалить картинку из переменной $item->introtext, используем следующее выражение:
$item->introtext = preg_replace( '/<img[^>]*>/', '', $item->introtext);
Как показал опыт, данное решение самое оптимальное. Работает уже на куче проектов.