![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
gendelman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Здравствуйте, борюсь с preg_replace.
Захотел примерно такую utf-строку: Шла ! 2128506 Саша --- по@Shosse {{}} и сосала ,.% 111 превратить в такую: Шла,2128506,Саша,по,Shosse,и,сосала,111 Т.е. через запятую собрать слова и последовательности цифр. Понятно, что просто любую последовательность из НЕ букв и НЕ цифр надо просто заменить на запятую, но что-то не получаеться. Кириллица на выходе либо совсем выпадает, либо вылядит вот так - '?ла,С?ша,?о,Shosse'. Перепробовал кучу вариантов, вот для примера: $string = preg_replace( '#\W*#siU', ',', $string ); или $string = preg_replace( '#[^абвгд...abcd...12345...]*#siU', ',', $string ); (модификатор U и убирал, и вставлял снова) Что тут не правильно? А лучше сразу рабочую регулярочку. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 8 Всего: 260 |
для работы с utf-8 нужен модификатор "u". "U" - это для установки жадности. регистр модификатора важен, да.
|
|||
|
||||
gendelman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Получается: ,,2,1,2,8,5,0,6,,S,h,o,s,s,e,,1,1,1, Ничего не понимаю. |
|||
|
||||
Pitlord |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 246 Регистрация: 31.10.2009 Репутация: нет Всего: 7 |
gendelman, \W* на \W+ замени. А чтобы кириллические символы тоже считались частью "слова" их придётся явно расписать, т.е. от \W отказаться: /[^A-ZА-ЯЁ0-9]+/ui
P.S. Хотя можете попробовать настроить локаль. Это сообщение отредактировал(а) Pitlord - 7.11.2009, 23:42 |
|||
|
||||
gendelman |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 7.4.2008 Репутация: нет Всего: нет |
Pitlord, получилось.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |