Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Регулярка
Новая тема
Ответить
цитата
11/09/08 в 18:32
Lamagro
в общем стою на асфальте я лыжи обутый ... ночью и туплю бля
Пишу регулярку нужно выдернуть из страницы все залинкованные картинки в которых есть слово thumb - неполучается. И хуй бы с ним завтра точно напишу, но хочется запустить скрипт на ночь
Код:
preg_match_all("/<a\s+href\s*=.*?<img\s+src\s*=\s*[\",\'](.*?\.jpg|jpeg)[\",\']/is",$Page,$img);
это выдергивает все залинкованные пиксы как приделать сюда thumb?
p.s. скрипт php-шный
цитата
11/09/08 в 18:47
Salvator
Код:
preg_match_all("/<a\s+href\s*=.*?<img\s+src\s*=\s*[\",\'](.*?thumb.*?\.jpg|jpeg)[\",\']/is",$Page,$img);
try this
цитата
11/09/08 в 19:01
Lamagro
я так делал - ниработает нифига
точнее работает, но пути где нету thumb в массив попадаю вот в таком виде:
Цитата:
./sdffsdsdfsdsdf/16.jpg" width="120" height="150" border="1"></a>
<a href="./pic/image_10.jpg"><img src="./thumb/10.jpg
то есть выбирается все до следующей тумбы
цитата
11/09/08 в 19:08
wMaster
Код:
preg_match_all("/<a.*?<img[^>]+src\s*=\s*[\"\']?\s*([^\'\"\s]*thumb[^\'\"\s]*\.(?:jpg|jpeg))\s*[\"\']?[^>]+>.*?<\/\s*a\s*>/is",$Page,$img);
а так?
Последний раз редактировалось: wMaster (
11/09/08 в 19:12
), всего редактировалось 3 раз(а)
цитата
11/09/08 в 19:09
Salvator
Код:
preg_match_all("/<a\s+href\s*=.*?<img\s+src\s*=\s*[\",\']([^>]*?thumb[^>]*?\.jpg|jpeg)[\",\']/is",$Page,$img);
цитата
11/09/08 в 19:26
Lamagro
вери биг сэнкс!
оба варианта работают - только до конца не пойму как
[^>] - это как работает?
цитата
11/09/08 в 19:42
wMaster
Эм, я бы сказал это метод описания от противного. Т.е можно либо описать что включать, либо же наоборот, что не включать, как в этом случае. [^>]* - означает учитывать любой символ до первого >.
цитата
11/09/08 в 20:05
Lamagro
супер! спасибо!
век живи век учись
цитата
13/09/08 в 05:23
idk2045
да ну, тут надо минимум 2 прегмача - сначала выдрать все линки, потом проверить в каждой thumb.
Код:
$Page = " <a href='http://google.com'></a><img src='thumb1.jpg'><a href='http://google2.com>sss</a>";
валятся оба данных кода на таком хтмле.
.*? будет искать до тега img, а тем временем тег A уже может закрыться.
цитата
13/09/08 в 05:32
wMaster
grozny, это потому что у тебя необходимый формат хтмл вообще совершенно неверный!
формат должен быт такой <a href=""><img src="" /></a> ... тумба-ссылка!
цитата
14/09/08 в 21:29
idk2045
не вижу где ТС написал что формат хтмла именно такой.
я только понял что нужно выдрать именно такие линки, но исходный хтмл-то любой может быть...
пример - тгп галеры, если там будет любая графика кроме тумбов со словом thumb, твой прегматч выдаст левую инфу.
я просто делал грабер галер, и одним прегмачем не обошелся)
цитата
15/09/08 в 06:02
Lamagro
Lamagro писал:
нужно выдернуть из страницы все залинкованные картинки в которых есть слово thumb
2grozny
Здесь четко определено условие
Для универсальности конечно нужно более сложную регулярку.
цитата
15/09/08 в 06:11
Lamagro
Я кстати когда то писал универсальный - не смог кое где обойтись без полуавтомата, счас уже понимаю что был не прав
цитата
17/09/08 в 20:55
site-1az
Не могу создать новую тему, поэтому отпишусь здесь, надеюсь ТС не против
Мне нужно написать парсер страницы с видео, чтобы выдергивалось название, тэги и код embeded. Естественно за $
пишите в аську 610пятьвосемь07
цитата
18/09/08 в 06:59
Lamagro
сутки уже наверное прошли - иди новую создавай
цитата
18/09/08 в 07:32
dDan
Да я уже почти сделал, чего создавать то
цитата
18/09/08 в 11:22
Lamagro
dDan писал:
Да я уже почти сделал, чего создавать то
c тебя причитается
всетаки заказ в моем топике взял
Новая тема
Ответить
Эта страница в полной версии