Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
На PHP нужно получить адрес из <img src="адрес"
Новая тема
Ответить
цитата
09/06/08 в 12:17
Proo
Нужно сначала найти тег <img src="адрес"> а потом получить из него адрес фотки
Никто не подскажет как сделать, может парзер какой заюзать?
Заранее спасибо
цитата
09/06/08 в 13:03
schalke
открыть файл(или сохранить и открыть если динамика) и с помощью регулярных выражений вырезать адрес
цитата
09/06/08 в 13:11
dDan
/<img src=\"(.*)\"/
цитата
09/06/08 в 13:16
Corex
Код:
preg_match_all('/<img[^>]*src=["\\\']?([^"\\\' >]+\\.(jpeg|jpg|png|gif))["\\\']?\\s*[^>]*>/si', $string, $pics);
$pics[0] - полностью тег img со всеми внутренностями
$pics[1] - только путь к картинке (значение src)
цитата
09/06/08 в 14:30
_s_[sov]
Corex, зачем же так сложно делать?
dDan
+1 Четко ясно понятно.
цитата
09/06/08 в 14:35
Proo
Всем спасибо и +
Тока я пока ждал ответ нашел простой парзер хтмл, сделал за 10 мин, думаю тоже сойдет
цитата
09/06/08 в 14:43
Sha
_s_[sov] писал:
Corex, зачем же так сложно делать?
dDan
+1 Четко ясно понятно.
Но неправильно.
цитата
09/06/08 в 14:44
Corex
_s_[sov] писал:
Corex, зачем же так сложно делать?
Чтобы тег img полностью выцепить, как ТС просил, а иначе не зачем, эт верно.
цитата
09/06/08 в 14:47
Sha
Corex писал:
Чтобы тег img полностью выцепить, как ТС просил, а иначе не зачем, эт верно.
Решение dDan абсолютно неверно, а у Corex почти верно.
цитата
09/06/08 в 14:55
Sterx
а можно DOM заюзать
выцеплять тег, потом его атрибут
рульная штука, время экономит, но зараза PHP5 нужен
цитата
09/06/08 в 15:11
Corex
Sha писал:
Решение dDan абсолютно неверно, а у Corex почти верно.
А что именно? Правда интересно, т.к. это кусок (немного урезанный) из рабочего скрипта, может правда что-то пропустил?! Но галеры и rss парсил пока нормально.
цитата
09/06/08 в 15:26
Sha
Corex писал:
А что именно? Правда интересно, т.к. это кусок (немного урезанный) из рабочего скрипта, может правда что-то пропустил?! Но галеры и rss парсил пока нормально.
Только некоторые контрпримеры:
Код:
<img src="blablabla.gifs">
<img nosrc="blablabla.gif">
<imgdown src="blablabla.gif">
Все вышеуказанные ошибочно распознаются как нормальная картинка blablabla.gif, хотя только первая действительно картинка, но в файле с другим именем.
цитата
09/06/08 в 16:48
dDan
Бля Sha глянь пример которйы приел ТС тока не надо говорить что моя рега его не съест. Че выебывается и чтото выжимать из себя моя я дохуя умней, как было сказано я так и подсказал.
цитата
09/06/08 в 18:03
Sha
Твоя рега ест кроме того что написал стартер ещё и всё что не надо. Точнее она ест всё от первого <img src=" до последних двойных кавычек в файле.
цитата
09/06/08 в 18:39
_s_[sov]
Это с каких это херов неверно у него? Все работает "на ура", что еще нада? Опять появляется тенденция "нада обосраться, но написать на 1 мс быстрее, спрашивается зачем?"
цитата
09/06/08 в 18:45
_s_[sov]
Sha писал:
Твоя рега ест кроме того что написал стартер ещё и всё что не надо. Точнее она ест всё от первого <img src=" до последних двойных кавычек в файле.
в том примере что задал ТС, паттерн
dDan
работает идеально.
цитата
09/06/08 в 19:11
dDan
поставь в конце /U или вместо (.*) ([^\"]) и будет счастье..
цитата
09/06/08 в 20:33
Formator
Вот у вас тёрки на ровном месте
Код:
preg_match_all('~<img src="([^"]+)"~',$string,$matches);
Как уже сказали, можно разложить по объектам, т.е. с DOM. Если кому интересно для сложных и гибких проектов, то советую поглядеть сюда
https://sourceforge.net/projects/php-html/
и не нужен никакой php5. При чём синтаксис там такой же как и у JQuery (те кто в теме, сразу оценят)
Т.е., чтобы вытощить все src всех img, надо сделать следующее:
Код:
$dom = file_get_dom('http://урл_до_html');
foreach ($link=$dom->find('img'))
echo $link->src;
цитата
09/06/08 в 20:38
Sterx
да я тоже нечто похожее юзал
но в 5 пхп такое без всяких классов сторонних
Новая тема
Ответить
Эта страница в полной версии