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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

icq: 206276695
По умолчанию Удаление из строки всех не alpha символов

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

icq: 206276695
По умолчанию

Вот такая строка работает только с латиницей
Код:
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
Репутация: 430
По умолчанию

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
Репутация: 10

icq: 206276695
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление Всех сообщений Вконтакте 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


05:21.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.