Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Регулярка
цитата
11/09/08 в 18:32
 Lamagro
в общем стою на асфальте я лыжи обутый ... ночью и туплю бля icon_evil.gif
Пишу регулярку нужно выдернуть из страницы все залинкованные картинки в которых есть слово 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
я так делал - ниработает нифига icon_smile.gif
точнее работает, но пути где нету 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
вери биг сэнкс!
оба варианта работают - только до конца не пойму как icon_smile.gif


[^>] - это как работает?
цитата
11/09/08 в 19:42
 wMaster
Эм, я бы сказал это метод описания от противного. Т.е можно либо описать что включать, либо же наоборот, что не включать, как в этом случае. [^>]* - означает учитывать любой символ до первого >.
цитата
11/09/08 в 20:05
 Lamagro
супер! спасибо!
век живи век учись icon_smile.gif
цитата
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
Здесь четко определено условие icon_smile.gif
Для универсальности конечно нужно более сложную регулярку.
цитата
15/09/08 в 06:11
 Lamagro
Я кстати когда то писал универсальный - не смог кое где обойтись без полуавтомата, счас уже понимаю что был не прав icon_smile.gif
цитата
17/09/08 в 20:55
 site-1az
Не могу создать новую тему, поэтому отпишусь здесь, надеюсь ТС не против icon_smile.gif
Мне нужно написать парсер страницы с видео, чтобы выдергивалось название, тэги и код embeded. Естественно за $
пишите в аську 610пятьвосемь07
цитата
18/09/08 в 06:59
 Lamagro
сутки уже наверное прошли - иди новую создавай icon_smile.gif
цитата
18/09/08 в 07:32
 dDan

Да я уже почти сделал, чего создавать то icon_smile.gif
цитата
18/09/08 в 11:22
 Lamagro
dDan писал:
Да я уже почти сделал, чего создавать тоicon_smile.gif
c тебя причитается smail04.gif всетаки заказ в моем топике взял smail101.gif


Эта страница в полной версии