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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

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

Суть: пользователь может вводить в поле текст, включая спецсимволы. Задача: нужно с это строки удалять все, что не относится к буквам (на крайний случай можно и цифры оставить)
Пример: ввели такую строку
Цитата:
'Пр*ив\е"т
на выходе должно получится
Цитата:
Привет
Может есть уже готовая функция? Или придётся копать в сторону регулярок?
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"
skeletor вне форума Ответить с цитированием
Старый 12.07.2010, 16: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, 16:51   #3
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


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


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