Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 12.07.2010, 14:22   #1
skeletor
Пользователь
 
Аватар для skeletor
 
Регистрация: 21.06.2010
Сообщений: 13
По умолчанию Удаление из строки всех не alpha символов

Суть: пользователь может вводить в поле текст, включая спецсимволы. Задача: нужно с это строки удалять все, что не относится к буквам (на крайний случай можно и цифры оставить)
Пример: ввели такую строку
Цитата:
'Пр*ив\е"т
на выходе должно получится
Цитата:
Привет
Может есть уже готовая функция? Или придётся копать в сторону регулярок?
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor вне форума Ответить с цитированием
Старый 12.07.2010, 15:23   #2
skeletor
Пользователь
 
Аватар для skeletor
 
Регистрация: 21.06.2010
Сообщений: 13
По умолчанию

Вот такая строка работает только с латиницей
Код:
preg_replace('/\W/','',$str);
Пробовал использовать
Код:
mb_ereg_replace('/\W/','',$str);
но с кириллицей так и не работает. Может ей чего-то не хватает?
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor вне форума Ответить с цитированием
Старый 12.07.2010, 15:51   #3
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

http://docs.php.net/manual/ru/refere....modifiers.php
Смотри последний модификатор u

Скрипт, конечно же, должен храниться в UTF-8. Ну и подаваться строка должна в UTF-8. Логично.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 12.07.2010, 16:28   #4
skeletor
Пользователь
 
Аватар для skeletor
 
Регистрация: 21.06.2010
Сообщений: 13
По умолчанию

Спасибо, вот правильный вариант:
Код:
preg_replace('/[^A-Za-zа-яёА-ЯЁ]/ui', '', $str);
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц
Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление Всех сообщений Вконтакте Zugelman JavaScript, Ajax 8 13.12.2010 01:31
ЗАМЕНА СИМВОЛОВ. ВСЕХ trivium91 Microsoft Office Word 1 12.03.2010 15:17
Удаление символов из строки Jasper92 Общие вопросы C/C++ 1 17.01.2010 20:41
Удаление символов из строки stscolt Помощь студентам 0 28.12.2009 12:34
Удаление всех гиперссылок БуреВестник Microsoft Office Word 6 16.10.2009 09:05


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS