Оставить в строке только клавиатурные символы

NitroGenerate

Новичок
Доброго времени суток коллеги.
Никак не могу грамотно, точнее сказать, вообще не могу, убрать из строки все лишние символы(которые нельзя ввести с клавиатуры)
Для этого набросал регулярку:

PHP:
 preg_replace ("/[^a-zA-Zа-яА-Я0-9\[\]\(\)\-\:\;\,\.\!\"\'\?\&\>\<\s]/", "", $str);
Все хорошо и вроде бы работает, но кодировка utf8 и русские символы... камень преткновения.
eregi replace не работает, да и не особо есть желание использовать.
Модули на сервер ставить нет возможности, нужно решить на php.
Такие вещи как разложить строку на массив и перебрать. Прошу тоже постараться не предлагать, ибо теста очень много.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
NitroGenerate, с клавиатуры можно ввести вообще любой символ, открою тебе этот секрет. Для твоего случая есть модификатор /u, но лучше бы ты не занимался фигней.
 

AnrDaemon

Продвинутый новичок
Доброго времени суток коллеги.
Никак не могу грамотно, точнее сказать, вообще не могу, убрать из строки все лишние символы(которые нельзя ввести с клавиатуры)
Как выше сказали, с клавиатуры можно ввести вообще все символы, кроме двух. Впрочем, ограничение относится не к клавиатуре, а к вводу. Если форма ввода готова принимать весь ввод, ввести можно все символы вообще.
Поставь задачу нормально - будет нормальный ответ. Что ты пытаешься сделать таким нетрадиционным образом?
 

AnrDaemon

Продвинутый новичок
Второй: \t. В большинстве случаев его нельзя ввести напрямую.
 

AnrDaemon

Продвинутый новичок
Ничего. Переводит фокус на следующий элемент управления :)
 

AnrDaemon

Продвинутый новичок
Попробовал - работает :)
Память подвела. Спасибо за поправку.
 
Сверху