[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите составить регулярку
balambasik
Доброго времени суток.
Как говориться "Если вы хотите решить проблему с помощью регулярного выражения - то у вас уже две проблемы" :D

Прошу помощи в составлении регулярки
Есть строки такого типа
/param/tatam/pam_pam/derby-77587.html
/tar_am/tabam/bum_bam/bmw-5578.html

Берется это все из $_SERVER['REQUEST_URI']

мне нужен паттерн который будет пропускать только:
1) латинские символы (регистр неважен) [a-z]
2) цифры [0-9]
3) символы: точка, слеш, дефиз, нижнее подчеркивание (".", "/", "-", "_")


Вот на сколько хватило моих знаний /[\/a-z0-9_-]/
Естественно не работает :D

Код (нерабочий)
  $pattern = '/[\/a-z0-9_-]/'; 

if(preg_match($pattern, $_SERVER['REQUEST_URI']))
{
exit("Недопустимые символы");
}
else
{
echo "Все нормально";
}


Помогите составить паттерн.


vital
Цитата
Вот на сколько хватило моих знаний /[\/a-z0-9_-]/

Дык уже близко к требованиям. Нужно добавить только независимость от регистра, точку, чуть экранирования и указать сколько раз эти символы должны встречаться.
Даже не хочется показывать, вы ж сами можете справиться. Стоит просто еще почитать про регулярки, а не на форум писать wink.gif

_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."

Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar
balambasik
Правильный ответ /^[a-z0-9_\-.\/]+$/is

  if(!preg_match("/^[a-z0-9_\-.\/]+$/is", $_SERVER['REQUEST_URI']))
{
exit("Недопустимые символы");
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.