Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

регулярное выражение

Обсуждение темы регулярное выражение в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Столкнулся с таким вопросом. Есть у нас url: PHP код: www . site . ru / level1 / level2 / level3 /  Чтобы ...


Закрытая тема
 
Опции темы
Старый 20.11.2008, 23:43   #1
Столкнулся с таким вопросом.
Есть у нас url:
PHP код:
www.site.ru/level1/level2/level3
Чтобы проверить на корректность ввода урла в php делаем:
PHP код:
preg_match('{^www\.site\.ru\/(.*)\/(.*)\/(.*)\/}'$url$r); 
Но тут рассматривается только определенное количество вложений.

А как быть если мы хотим проверить на n-ое количество вложений?

PHP код:
www.site.ru/level_1/level_2/level_3/.../level_n
Буду очень благодарен за подсказку.
 
Старый 20.11.2008, 23:43
Ссылки
Старый 21.11.2008, 13:40   #2
Код:
'#www\.site\.ru/(([^/]+)/){3}#'
Ну, вместо тройки подставьте столько, сколько нужно.
 
Этот пользователь сказал спасибо deMone за это полезное сообщение:
Anthony (21.11.2008)
Старый 21.11.2008, 22:55   #3
Кстати почему все используют разный синтаксис регулярных выражений?
Например # вначале нигде не встречал, обычно только ^.

И где можно найти подробное описание регулярных выражений в php?

ссылки вроде этой google не катят. В инете одно и то же с одинаковыми примерами.
 
Старый 22.11.2008, 00:23   #4
# используется в качестве ограничителя.

Ну и http://www.pcre.org/
 
Старый 27.11.2008, 17:53   #5
демон, мож вместо {3} вообще + поставить, тогда будет произвольное количество подуровней. Да что вообще за идиотская проверка на самом деле
(([^/]+)/ точно надо менять на (([a-zA-Z0-9_]+)/
 
Старый 28.11.2008, 03:34   #6
А зачем ограничивать символы, вводимые между слэшами? Что хотят, пусть то и пишут. Может там между слэшами будет текст запроса на русском языке в UTF-8.

Опять же, регулярка проще.
 
Старый 28.11.2008, 03:34
Закрытая тема


Опции темы



Текущее время: 06:27. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум