06 Февраля 2012

Как вытащить ссылки на картинки из HTML с помошью PHP

Есть задача, надо из HTML элемента вытащить ссылки на картинки. Есть например код:

<p><img align="left" alt="" src="images/stories/342_2121.jpg" /></p>
<p>Уважаемые покупатели!<br />
Мы рады представить Вам новую версию нашего сайта!</p>

Наша задача вытащить ссылку на картинку, и удалить данный HTML тег. Используем регулярные выражения:

$result = array(); // объявляем массив
preg_match_all('/<img[^>]*?src=\"(.*)\"/iU', $item->introtext, $result); // с помощью регулярного выражения из $item->introtext мы получаем массив путей $result
if (isset($result[1][0])) // если не пусто, то выводим картинку
{
    $item->img = '<img src="'.$result[1][0].'" alt="'.$item->title.'" />';
}

Что бы удалить картинку из переменной $item->introtext используем следующее выражение:

$item->text = preg_replace( '/<img[^>]*>/', '', $item->text );

Как показал опыт, данное решение самое оптимальное. Работает уже на куче проектов

Добавить комментарий