Картинкаи

Статус
В этой теме нельзя размещать новые ответы.

xdemon

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

? картинки также перехватываются..
а про ЯС я не понял, то есть добавление?
 
JS нет разумеется. Это пхп уже =)
 
Вот еще вариант:
PHP:
"/<img.*?src\s*=\s*\"([^\"]*)\"[^>]*>/i"
Вылавливает картинки в <img> тегах.
Плюсы: ловит картинки даже такого вида
PHP:
<img src = "http://site.ru/domain.image.jpg>
Т.е. в случае "грязного хтмл", если между <b>src =</b> неправильно расставлены пробелы или если имя картинки содержит точки, картинка все равно вылавливается
 
Вот еще вариант:
PHP:
"/<img.*?src\s*=\s*\"([^\"]*)\"[^>]*>/i"
Вылавливает картинки в <img> тегах.
Как изменить регулярку, чтоб вытаскивала ссылки на изображения если они имеют, например, такой вид:
HTML:
<img src='http://site.ru/domain.image.jpg'>
<img src ="http://site.ru/domain.image.jpg">


Еще: Дайте ссылку на готовые, проверенные решения по регуляркам для парсинга html страниц.
Например, вытащить все ссылки, удалить комментарии, вытащить все divы, таблицы и т.д
Где-то тут видел, но найти не могу :/
 
PHP:
"/<img.*?src\s*=\s*\"([^\"]*)\"[^>]*>/i"
это берет картинки в двойных ковычках (")
PHP:
"/<img.*?src\s*=\s*\"\'([^\"]*)\'[^>]*>/i"
это соответственно в одинарных (').
 
Написал сам:
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" />
Посмотрите, спецы, можно её еще оптимизировать или что-то добавить изменить.
 
HTML:
/<img[^>]+src=[\"|\']?([^>|\'|\"|\s]+)/i
 
PHP:
"/<img[^>]+src[^=]*=\s*[\"']?([^\"'\s>]+)/is"
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху