Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите с регулярным выражением

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Получить ссылку из страницы
Delovoy
Отправлено: 31 Мая, 2011 - 11:38:32
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




Добрый день, уважаемый знатоки

Получаю страницу с помощью Curl и из полученной страницы нужно получить ссылку на изображение

ссылка имеет вид
http://адрес сайта/captcha/38b0ce89c37bc13d5b d705865abac40a.png

я попробовал составить регулярное выражение

PHP:
скопировать код в буфер обмена
  1. preg_match_all("/(^http.*captcha.*png$)/iu", $slando_page, $out_arr);


рассуждения были такие:
ссылка должна начинаться с http : ^http
после http может быть произвольное количество разных символов: .*
внутри этого произвольного количества должно быть слово captcha
после слова captcha тоже может быть произвольное количество символов: .*
ссылка должна заканчиваться png : png$

и два модификатора:
i - регистронезависимость (ну на всякий случай)
u - UTF-8, так как страницу я получаю в utf-8
по крайней мере надеюсь на это, так как при получении страницы в заголовке передаю
Accept-Charset: utf-8;

результат - НИ ОДНОЙ ССЫЛКИ НЕ НАЙДЕНО!

подскажите как правильно? хочу разобраться!
 
 Top
Toxa
Отправлено: 31 Мая, 2011 - 11:41:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 352
Дата рег-ции: Окт. 2008  


Помог: 8 раз(а)

[+]


попробуй
PHP:
скопировать код в буфер обмена
  1. preg_match_all("/captcha\/\w+\.png/iu", $slando_page, $out_arr);

(Отредактировано автором: 31 Мая, 2011 - 11:42:13)



-----
Удобный сервис для хранения файлов
 
 Top
Delovoy
Отправлено: 31 Мая, 2011 - 12:04:45
Post Id


Новичок


Покинул форум
Сообщений всего: 63
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




уже заработало, вот в таком варианте

PHP:
скопировать код в буфер обмена
  1. preg_match_all("/http.*captcha.*png/iu", $slando_page, $out_arr);

(Отредактировано автором: 31 Мая, 2011 - 12:25:00)

 
 Top
DlTA
Отправлено: 02 Июня, 2011 - 04:15:46
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




Delovoy пишет:
уже заработало, вот в таком варианте

больше на костыль похоже))
хотя если не предвидится изменение каталога расположения изображений то бут работать.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB