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

SnowB

Новичок
В очередной раз заткнулся на регулярке и мозги съехали набикрень.

Пример

if(preg_match('catalog/1/\S*', $_SERVER['REQUEST_URI'])) echo "OK";

Могли бы вы подсказать почему не заходит по условию, если url http://site/catalog/1/14/ ?

Заранее спасибо!
 

A1x

Новичок
во всех preg_* функциях шаблон должен быть заключен в разделители
 

korpus

злой бобёр
Код:
if(preg_match('#catalog/1/\S*#', $_SERVER['REQUEST_URI'])) echo "OK";
вот так будет правильно
 

AmdY

Пью пиво
Команда форума
вспомнилось
Если у вас проблема и вы ее решаете регулярными выражениями, то у вас две проблемы
во первых регулярки корявые, во вторых если автор не знает их, то проще заменить
PHP:
$part = explode('/', trim($_SERVER['REQUEST_URI'], '/'));
if (isset($part[0]) && $part[0] == 'catаlog') {
$category = isset($part[1]) ? $part[1]: null;
$subCategory = isset($part[2]) ? $part[2]: null;
// другой код
}
 

SnowB

Новичок
Всем огромное спасибо!

AmdY, ну нужно же в них когда то разбираться =)
 
Сверху