Картинкаи

Тема в разделе "Регулярные выражения", создана пользователем xdemon, 1 май 2008.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. xdemon

    xdemon Постоялец

    Регистр.:
    20 июн 2007
    Сообщения:
    125
    Симпатии:
    13
    Полезен для перехвата картинок и добавления js
    PHP:
    "/<a(.*?)href=('|\")([A-Za-z0-9\/_\.\~\:-]*?)(\.bmp|\.gif|\.jpg|\.jpeg|\.png)('|\")([^\>]*?)>/i"
     
  2. B1rdEX

    B1rdEX Постоялец

    Регистр.:
    30 июн 2008
    Сообщения:
    141
    Симпатии:
    26
    так замутно.. а не проще ли так:
    Код:
    "/<a(.*?)href=['|\"](.+[\.bmp|\.gif|\.jpg|\.jpeg|\.png])['|\"].*>/i"
     
    ? картинки также перехватываются..
    а про ЯС я не понял, то есть добавление?
     
  3. xdemon

    xdemon Постоялец

    Регистр.:
    20 июн 2007
    Сообщения:
    125
    Симпатии:
    13
    JS нет разумеется. Это пхп уже =)
     
  4. AgpeHaJIuH

    AgpeHaJIuH Постоялец

    Регистр.:
    7 июл 2008
    Сообщения:
    67
    Симпатии:
    19
    Вот еще вариант:
    PHP:
    "/<img.*?src\s*=\s*\"([^\"]*)\"[^>]*>/i"
    Вылавливает картинки в <img> тегах.
    Плюсы: ловит картинки даже такого вида
    PHP:
    <img src "http://site.ru/domain.image.jpg>
    Т.е. в случае "грязного хтмл", если между <b>src =</b> неправильно расставлены пробелы или если имя картинки содержит точки, картинка все равно вылавливается
     
    Stripe и xriby нравится это.
  5. xriby

    xriby Создатель

    Регистр.:
    28 сен 2009
    Сообщения:
    23
    Симпатии:
    0
    Как изменить регулярку, чтоб вытаскивала ссылки на изображения если они имеют, например, такой вид:
    HTML:
    <img src='http://site.ru/domain.image.jpg'>
    <img src ="http://site.ru/domain.image.jpg">  
    

    Еще: Дайте ссылку на готовые, проверенные решения по регуляркам для парсинга html страниц.
    Например, вытащить все ссылки, удалить комментарии, вытащить все divы, таблицы и т.д
    Где-то тут видел, но найти не могу :/
     
  6. Delayer

    Delayer Создатель

    Регистр.:
    4 июл 2009
    Сообщения:
    39
    Симпатии:
    4
    PHP:
    "/<img.*?src\s*=\s*\"([^\"]*)\"[^>]*>/i" 
    это берет картинки в двойных ковычках (")
    PHP:
    "/<img.*?src\s*=\s*\"\'([^\"]*)\'[^>]*>/i" 
    это соответственно в одинарных (').
     
  7. xriby

    xriby Создатель

    Регистр.:
    28 сен 2009
    Сообщения:
    23
    Симпатии:
    0
    Написал сам:
    PHP:
    "{<img.*?src\s*=\s*[\"\']?(.+?\.(jpe?g|gif|png))}i"
    вытаскивает ссылки на изображения вида:
    HTML:
    <img src='http://site.ru/domain.image1.jpeg' title="bla">
    <img src = "http://site.ru/domain.image2.JPG" title="bla">  
    <img src=http://site.ru/domain.image3.jpg title="bla">
    <img title="bla" src=http://site.ru/domain.image4.gif title="bla" />
    Посмотрите, спецы, можно её еще оптимизировать или что-то добавить изменить.
     
  8. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    HTML:
    /<img[^>]+src=[\"|\']?([^>|\'|\"|\s]+)/i
     
  9. Yaggi Jah

    Yaggi Jah Постоялец

    Регистр.:
    15 ноя 2006
    Сообщения:
    75
    Симпатии:
    31
    PHP:
    "/<img[^>]+src[^=]*=\s*[\"']?([^\"'\s>]+)/is"
     
Статус темы:
Закрыта.