Регулярное выражение для поиска адреса первого изображения в статье

Как найти адрес первого изображения при помощи регулярных выражений?
Есть интересная задача.

Собственная тема оформления для Wordpress, в ней ведётся вывод списка новостей с первым изображением к статье.
Выводить при помощи получения списка вложений не получается, потому как изображения в посте расположены не в том порядке, в котором загружены.

Простое решение
Самое простое решение на мой взгляд, это использование регулярного выражения. Для этого напишем функцию (пример для PHP):
function get_first_image_from_post($post_html) {
    $patt = ' /<\s*img[^>]*src=[\"|\'](.*?)[\"|\'][^>]*\/*>/i'; // регулярное выражение
    preg_match($patt, $post_html, $result); // вызов обработчика с выводом в переменную $result
    if (!empty($result[1])){  // проверяем есть ли результат
        return $result[1]; //результат есть - возвращаем результат
    }else{
        return ''; // результата нет - возвращаем пустую строку
    }
}

На входе в функцию — исходный html код статьи, которую нужно обработать регулярным выражением.

Результатом работы функции — будет адрес первого изображения в статье или пустая строка, если изображение не найдено.
  • +1
  • 31 августа 2012, 11:44
  • igorrius

Комментарии (0)

RSS свернуть / развернуть
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.
comments powered by Disqus