Фильтрация username'а

kgip33

Guest
Фильтрация username'а

Нужно профильтровать username на знаки:
!@#$%^&*()+=\|/.,<>'"[]{}`~?
или впринципе на все такие(если забыл какие упомянуть)
Если использовать preg_match то указывать каждый символ через | ? Или может есть какая функция по обрезанию всех этих символов?
Спасибо :)
 

kgip33

Guest
Я тоже об этом уже подумал :D пасиб

-~{}~ 29.03.05 09:35:

Тут по ходу ещё одна проблемка в preg_match'ем возникла:
Чтобы разhешить пользователю все символы алфавита все цифры и знаки '-' и '_' интуитивно я сотворил:
preg_match("/[a-zA-Z0-9-_]/", $string);
Но оно спокойно разрешит строку raz@#$@*&^dva
Помогите написать правильно этот preg_match :)
 

Фанат

oncle terrible
Команда форума
в начале класса поставь ^
и проверяй наоборот - если совпало, значит есть посторонние.
 

Demiurg

Guest
тире в классах имеет особое значение, поэтому если тебе нужно именно тире, то ставь его в начала или конце.
 

Demiurg

Guest
crocodile2u
или вначале думать прежде чем говорить
или читать документакцию
 

crocodile2u

http://vbolshov.org.ru
Demiurg
попробовал экспериментировать. Но твоего замечания пока не оценил. Может, дашь ссылку?
 

Nimous

Guest
preg_replace('/[^a-zA_Z0-9_-]/','',$username);

...или то, что ты хочешь оставить...
 
Сверху