Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление из строки всех не alpha символов 
:(
    Опции темы
skeletor
Дата 12.7.2010, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.2.2007
Где: Киев

Репутация: нет
Всего: 2



Суть: пользователь может вводить в поле текст, включая спецсимволы. Задача: нужно с это строки удалять все, что не относится к буквам (на крайний случай можно и цифры оставить) 
Пример: ввели такую строку 
Цитата

'Пр*ив\е"т

на выходе должно получится 
Цитата
Привет

Может есть уже готовая функция? Или придётся копать в сторону регулярок?
PM MAIL WWW ICQ   Вверх
skyboy
Дата 12.7.2010, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



таки придется.
PM MAIL   Вверх
нуп
Дата 12.7.2010, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



preg_replace('#[^a-z]#i', '', $str);
Как то так  smile 
PM MAIL   Вверх
skeletor
Дата 12.7.2010, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.2.2007
Где: Киев

Репутация: нет
Всего: 2



Вот такая строка работает только с латиницей
Код
preg_replace('/\W/','',$str);

Пробовал использовать 
Код
mb_ereg_replace('/\W/','',$str);

но с кириллицей так и не работает. Может ей чего-то не хватает?
PM MAIL WWW ICQ   Вверх
skyboy
Дата 12.7.2010, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(skeletor @  12.7.2010,  14:23 Найти цитируемый пост)
но с кириллицей так и не работает

а локаль указана? лучше, все же, перейти на использование юникода с соответствующим флагом в регулярке.
PM MAIL   Вверх
skeletor
Дата 12.7.2010, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.2.2007
Где: Киев

Репутация: нет
Всего: 2



Сервер локализирован. Попробовал, не помогает.

Это сообщение отредактировал(а) skeletor - 12.7.2010, 16:02
PM MAIL WWW ICQ   Вверх
skyboy
Дата 12.7.2010, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



никогда не использовал \W. странно, у меня конструкция тоже не работает с кирилицей в utf-8.
зато работает
Код

echo preg_replace('#\P{L}#u','','привет, медвед');

unicode character properties
PM MAIL   Вверх
skeletor
Дата 12.7.2010, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 21.2.2007
Где: Киев

Репутация: нет
Всего: 2



Подсказали на одном из форумов. Вот правильный вариант:
Код
preg_replace('/[^A-Za-zа-яёА-ЯЁ]/ui', '', $str);

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0476 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.