Этот сайт не наркоманов. Это сайт программистов. Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 24 Май, 2012, 05:36:02

Страниц: [1] 2
Печать
Автор Тема: Парсер картинок  (Прочитано 828 раз)
0 Пользователей и 1 Гость смотрят эту тему.
drugoi    ↓ 
14 Март, 2010, 04:47:08
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0

Привет, помогите исправить регулярку.
Задача: вытащить все картинки со страницы, у которых имеется параметр alt="Template ....какой-то номер"
(капец!! задача вроде проще некуда, но чет не выходит)
Пока реализовал вот так:
PHP

$url="http://www.templatemonster.com/website-templates.php";
$data = file_get_contents($url);
preg_match_all("#<img(.*)>#iUs",$data,$images);
foreach($images[0] as $img)
{
   if(strpos($img,"alt=\"Template")){echo $img."<br>";}
}
 
все ок, но хотел сделать без foreach, чисто регуляркой.
Прочитал кучу мануалов. Но видимо хреново читал)))))
подскажите люди добрые
Записан
drugoi    ↓ 
14 Март, 2010, 04:52:26 , спустя 5 минут 18 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0


но хотел сделать без foreach,
ГЫ
хотел сказать - без strpos
Записан
md5    ↓ 
14 Март, 2010, 04:54:06 , спустя 1 минуту 40 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10495
Сила слова: 1.19

задача вроде проще некуда, но чет не выходит
ахаха
обожаю такие фразы
чет не выходит)
Спустя 1 минуту 21 секунду добавил
думаю, что-то вроде
Text
#img src="(.*?)" alt="Template ([0-9]+)"#i
но я с регулярками не очень на память)
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Ewg777    ↓ 
14 Март, 2010, 04:54:21 , спустя 15 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 666
Сообщений: 512
Сила слова: 4.69

drugoi, strpos у Вас возращае 0 или false, поэтому "не" работает.
Записан

Этот сайт не наркоманов. Это сайт программистов.
drugoi    ↓ 
14 Март, 2010, 05:01:58 , спустя 7 минут 37 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0


ахаха
обожаю такие фразы
чет не выходит)

 

думаю, что-то вроде
Text
#img src="(.*?)" alt="Template ([0-9]+)"#i
попробовал.. не канаетъ
 

drugoi, strpos у Вас возращае 0 или false, поэтому "не" работает.
да все работает у меня, написал же что хотел тока регуляркой!
Записан
Ewg777    ↓ 
14 Март, 2010, 05:09:44 , спустя 7 минут 46 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 666
Сообщений: 512
Сила слова: 4.69

Text
#alt="Template ([0-9]+)" src="(.*?)"#i

да все работает у меня, написал же что хотел тока регуляркой!
Не глядел пример и предположил, что очередной пыховичёк.
Записан

Этот сайт не наркоманов. Это сайт программистов.
drugoi    ↓ 
14 Март, 2010, 05:32:42 , спустя 22 минуты 58 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0

добавил шоб и страницу можно было выбирать
вот рабочий пример
вот код:
PHP

$get = explode("?",$_SERVER['REQUEST_URI']);
$get = $get[1];
if(empty($get)){$get=1;}
$query = "?type=1&from=".$get;
$url="http://www.templatemonster.com/website-templates.php".$query;
$data = file_get_contents($url);
preg_match_all("#<img(.*)>#iUs",$data,$images);
foreach($images[0] as $img)
{
   if(strpos($img,"alt=\"Template")){echo $img."<br>";}
}
 
Записан
Ewg777    ↓ 
14 Март, 2010, 05:35:14 , спустя 2 минуты 32 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 666
Сообщений: 512
Сила слова: 4.69

drugoi, я уже привёл рабочую регулярку.
Спустя 52 секунды добавил

$get = explode("?",$_SERVER['REQUEST_URI']);
$get = $get[1];
Супер
Записан

Этот сайт не наркоманов. Это сайт программистов.
drugoi    ↓ 
14 Март, 2010, 06:10:29 , спустя 35 минут 15 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0


drugoi, я уже привёл рабочую регулярку.
Спустя 52 секунды добавил

$get = explode("?",$_SERVER['REQUEST_URI']);
$get = $get[1];
Супер
попробовал, не работает твоя регулярочка то)))
Записан
Ewg777    ↓ 
14 Март, 2010, 06:18:30 , спустя 8 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 666
Сообщений: 512
Сила слова: 4.69



drugoi, я уже привёл рабочую регулярку.
Спустя 52 секунды добавил

$get = explode("?",$_SERVER['REQUEST_URI']);
$get = $get[1];
Супер
попробовал, не работает твоя регулярочка то)))
Почему она на regexpr.ru работает?
Спустя 4 минуты 42 секунды добавил
Это FireBug всё выровнял, а Вы не догадались поменять местами.
Text
#src="(.*?)" alt="Template ([0-9]+)"#i
Спустя 44 секунды добавил
Пруфлинк:
Text
http://regexpr.ru/?pattern=%23src%3D%22%28.*%3F%29%22+alt%3D%22Template+%28[0-9]%2B%29%22%23i&subject=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%3Cdiv%3E%0D%0A%0D%0A++%3Ca+style%3D%22cursor%3A+hand%3B%22+href%3D%22%2Fwebsite-templates%2F28053.html%22+target%3D%22_blank%22%3E%0D%0A++++%3Cimg+src%3D%22http%3A%2F%2Fimages.templatemonster.com%2Fscreenshots%2F28000%2F28053-m.jpg%22+alt%3D%22Template+28053%22++border%3D%221%22+style%3D%22border-color%3A+777777%3B%22+id+%3D+%22tpl_28053%22+%2F%3E%0D%0A++%3C%2Fa%3E%0D%0A
Записан

Этот сайт не наркоманов. Это сайт программистов.
drugoi    ↓ 
14 Март, 2010, 06:30:47 , спустя 12 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0


Это FireBug всё выровнял, а Вы не догадались поменять местами.
Text
#src="(.*?)" alt="Template ([0-9]+)"#i
точняк! спасибо! чет я тормознул и в правду
Записан
drugoi    ↓ 
14 Март, 2010, 06:59:15 , спустя 28 минут 28 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0

нихрена не работает
вот смотри:
Text

http://regexpr.ru/?pattern=%23src%3D%22%28.%2A%3F%29%22+alt%3D%22Template+%28%5B0-9%5D%2B%29%22%23i&subject=++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%3Cdiv%3E%0D%0A++%3Ca+style%3D%22cursor%3A+hand%3B%22+href%3D%22%2Fwebsite-templates%2F27975.html%22+target%3D%22_blank%22%3E%0D%0A++++%3Cimg+src%3D%22http%3A%2F%2Fimages.templatemonster.com%2Fscreenshots%2F27900%2F27975-m.jpg%22%0D%0A+++++++++alt%3D%22Template+27975%22%0D%0A+++++++++border%3D%221%22%0D%0A+++++++++style%3D%22border-color%3A+777777%3B%22%0D%0A+++++++++id+%3D+%22tpl_27975%22+%2F%3E%0D%0A%0D%0A++%3C%2Fa%3E%0D%0A%09%0D%0A%3C%2Fdiv%3E%0D%0A%0D%0A%0D%0A%0D%0A++%0D%0A+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%3Cdiv%3E%0D%0A%0D%0A++%3Ca+style%3D%22cursor%3A+hand%3B%22+href%3D%22%2Fwebsite-templates%2F27949.html%22+target%3D%22_blank%22%3E%0D%0A++++%3Cimg+src%3D%22http%3A%2F%2Fimages.templatemonster.com%2Fscreenshots%2F27900%2F27949-m.jpg%22%0D%0A+++++++++alt%3D%22Template+27949%22%0D%0A+++++++++border%3D%221%22%0D%0A+++++++++style%3D%22border-color%3A+777777%3B%22%0D%0A+++++++++id+%3D+%22tpl_27949%22+%2F%3E%0D%0A++%3C%2Fa%3E%0D%0A%09%0D%0A%3C%2Fdiv%3E%0D%0A%0D%0A%3C%0D%0A%0D%0A++%3Ca+style%3D%22cursor%3A+hand%3B%22+href%3D%22%2Fwebsite-templates%2F27934.html%22+target%3D%22_blank%22%3E%0D%0A++++%3Cimg+src%3D%22http%3A%2F%2Fimages.templatemonster.com%2Fscreenshots%2F27900%2F27934-m.jpg%22%0D%0A+++++++++alt%3D%22Template+27934%22%0D%0A+++++++++border%3D%221%22%0D%0A+++++++++style%3D%22border-color%3A+777777%3B%22%0D%0A+++++++++id+%3D+%22tpl_27934%22+%2F%3E%0D%0A++%3C%2Fa%3E%0D%0A%09%0D%0A%3C%2Fdiv%3E
 
Записан
Ewg777    ↓ 
14 Март, 2010, 07:01:50 , спустя 2 минуты 35 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 666
Сообщений: 512
Сила слова: 4.69

Что проще? Написать на форум "исправьте регулярку" или убрать \n и \r?
Записан

Этот сайт не наркоманов. Это сайт программистов.
mario    ↓ 
14 Март, 2010, 08:07:43 , спустя 1 час 5 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

wazzup
Группа: Джедаи

Карма: 67
Сообщений: 6162
Сила слова: 1.09



пожалуйста, не нужно больше такого, меня чуть инфаркт не схватил...
Записан

с ув. mario.
Контакты
drugoi    ↓ 
14 Март, 2010, 08:12:34 , спустя 4 минуты 51 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 0
Сообщений: 71
Сила слова: 0




пожалуйста, не нужно больше такого, меня чуть инфаркт не схватил...
согласен))))))))))) ну заработался
Спустя 44 секунды добавил

Что проще? Написать на форум "исправьте регулярку" или убрать \n и \r?
в первом посту как раз и написано, что прошу подсказать
 
а у брать переносы когда? до регулярки?
типа этого чтоль?
PHP
str_replace(array("\n", "\r", "\t", "\f"), '', $data);
preg_match_all('#<img(.*)\>#iUs',$data,$images);
Записан
Страниц: [1] 2
Печать
 

Перейти в: