С нами с 02.01.04
Сообщения: 1246
Рейтинг: 54
|
Добавлено: 09/06/08 в 12:17 |
Нужно сначала найти тег <img src="адрес"> а потом получить из него адрес фотки
Никто не подскажет как сделать, может парзер какой заюзать?
Заранее спасибо
|
|
|
|
С нами с 17.04.08
Сообщения: 21
Рейтинг: 13
|
Добавлено: 09/06/08 в 13:03 |
открыть файл(или сохранить и открыть если динамика) и с помощью регулярных выражений вырезать адрес
|
|
|
|
С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430
|
Добавлено: 09/06/08 в 13:11 |
/<img src=\"(.*)\"/
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 09/06/08 в 13:16 |
Код: | preg_match_all('/<img[^>]*src=["\\\']?([^"\\\' >]+\\.(jpeg|jpg|png|gif))["\\\']?\\s*[^>]*>/si', $string, $pics); |
$pics[0] - полностью тег img со всеми внутренностями
$pics[1] - только путь к картинке (значение src)
|
|
Power of the lime madness...
|
3
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 09/06/08 в 14:30 |
Corex, зачем же так сложно делать?
dDan +1 Четко ясно понятно.
|
|
|
|
С нами с 02.01.04
Сообщения: 1246
Рейтинг: 54
|
Добавлено: 09/06/08 в 14:35 |
Всем спасибо и +
Тока я пока ждал ответ нашел простой парзер хтмл, сделал за 10 мин, думаю тоже сойдет
|
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 09/06/08 в 14:43 |
_s_[sov] писал: | Corex, зачем же так сложно делать?
dDan +1 Четко ясно понятно. |
Но неправильно.
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 09/06/08 в 14:44 |
_s_[sov] писал: | Corex, зачем же так сложно делать? |
Чтобы тег img полностью выцепить, как ТС просил, а иначе не зачем, эт верно.
|
|
Power of the lime madness...
|
0
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 09/06/08 в 14:47 |
Corex писал: | Чтобы тег img полностью выцепить, как ТС просил, а иначе не зачем, эт верно. |
Решение dDan абсолютно неверно, а у Corex почти верно.
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 09/06/08 в 14:55 |
а можно DOM заюзать
выцеплять тег, потом его атрибут
рульная штука, время экономит, но зараза PHP5 нужен
|
|
|
|
« ... full on ... »
С нами с 17.03.07
Сообщения: 670
Рейтинг: 1686
|
Добавлено: 09/06/08 в 15:11 |
Sha писал: | Решение dDan абсолютно неверно, а у Corex почти верно. |
А что именно? Правда интересно, т.к. это кусок (немного урезанный) из рабочего скрипта, может правда что-то пропустил?! Но галеры и rss парсил пока нормально.
|
|
Power of the lime madness...
|
0
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 09/06/08 в 15:26 |
Corex писал: | А что именно? Правда интересно, т.к. это кусок (немного урезанный) из рабочего скрипта, может правда что-то пропустил?! Но галеры и rss парсил пока нормально. |
Только некоторые контрпримеры:
Код: |
<img src="blablabla.gifs">
<img nosrc="blablabla.gif">
<imgdown src="blablabla.gif">
|
Все вышеуказанные ошибочно распознаются как нормальная картинка blablabla.gif, хотя только первая действительно картинка, но в файле с другим именем.
|
|
|
|
С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430
|
Добавлено: 09/06/08 в 16:48 |
Бля Sha глянь пример которйы приел ТС тока не надо говорить что моя рега его не съест. Че выебывается и чтото выжимать из себя моя я дохуя умней, как было сказано я так и подсказал.
|
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 09/06/08 в 18:03 |
Твоя рега ест кроме того что написал стартер ещё и всё что не надо. Точнее она ест всё от первого <img src=" до последних двойных кавычек в файле.
|
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 09/06/08 в 18:39 |
Это с каких это херов неверно у него? Все работает "на ура", что еще нада? Опять появляется тенденция "нада обосраться, но написать на 1 мс быстрее, спрашивается зачем?"
|
|
|
|
php
С нами с 09.10.06
Сообщения: 3706
Рейтинг: 2410
|
Добавлено: 09/06/08 в 18:45 |
Sha писал: | Твоя рега ест кроме того что написал стартер ещё и всё что не надо. Точнее она ест всё от первого <img src=" до последних двойных кавычек в файле. |
в том примере что задал ТС, паттерн dDan работает идеально.
|
|
|
|
С нами с 18.08.04
Сообщения: 6376
Рейтинг: 4430
|
Добавлено: 09/06/08 в 19:11 |
поставь в конце /U или вместо (.*) ([^\"]) и будет счастье..
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 09/06/08 в 20:33 |
Вот у вас тёрки на ровном месте
Код: |
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;
|
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7615
Рейтинг: 5760
|
Добавлено: 09/06/08 в 20:38 |
да я тоже нечто похожее юзал
но в 5 пхп такое без всяких классов сторонних
|
|
|
|