Miracle

Рейтинг
376
Регистрация
20.08.2004

Актуально, помогите!

у меня врублено даже больше

setlocale (LC_ALL, "ru_RU.UTF-8");
ini_set('mbstring.internal_encoding', 'UTF-8');
ini_set('mbstring.func_overload', 6);
ini_set('mbstring.http_input', 'auto');
ini_set('mbstring.encoding_translation', 0);

только я не пойму чем это могло помочь

Правильно. задача не тривиальная, по этому и есть атрибут #u о котором я писал выше :)

спасибо.

с текстом который ниже (у меня все в юникоде) ничего не вышло.

Заменяет все повторяющиеся более 3х раз символы на 3 таких же символа.
Никак не могу добиться того что бы это срабатывало только с определенным набором символов, ну скажем буквами русского и латинского алфавита.

Буду признателен за подсказку.

Miracle добавил 09.11.2010 в 11:50

на сколько я понимаю очень важен значек

#u
Str01tel:
$text = "аааааааа ббббббббб вв zzzzzzzzz ????????? АААААААААААААААААААААА !!!!!!!!!!! ттттттт";
echo preg_replace('#([a-zа-я]){3,}#si','\1\1\1', $text);

Тема с регуляркой более чем актуальна, то что написали вы совершенно не работает из текста

Заменяет все повторяющиеся более 3х раз символы на 3 таких же символа.
Никак не могу добиться того что бы это срабатывало только с определенным набором символов, ну скажем буквами русского и латинского алфавита.

Буду признателен за подсказку.

делает вот такой

Ттт еее яяя еее 3х ззз ыыы на 3 ххх же ааа.
ккк не ууу яяя ооо ооо бы ооо ооо ооо с ммм ммм ввв, ну ммм иии ооо и ооо ааа.

Могу по экспериментировать на своем сайте и отписаться в теме, если не сильно затратно.

Если интересно пиши в лс

Может проще как то через исключения сделать, мне надо что бы регулярное выражение работало для всех симвлолов кроме цифр?!

Str01tel:
еще есть отличные онлайн сервисы например http://regexr.com?2sgg2

спасибо. но помоему там что то не то.

Miracle добавил 08.11.2010 в 09:36

preg_replace('#([a-zа-я\?\.]){3,}#ui','\1\1\1', $text); работает, но не срабатывает для запятых и восклицательных знаков

когда вставляю preg_replace('#([a-zа-я!,\?\.]){3,}#ui','\1\1\1', $text); удяляет все , и !

Str01tel:
хм, редактор справился на отлично с той регуляркой

расскажите подробней об этом пожалуйста.

#si

у меня юникод

спасибо, но это не работает.

$text = "АААААА аааааа 1111111...........,,,,,,,!!!!!????";

echo preg_replace('#(.)\1{'.(3-1).',}#u','\1\1\1', $text);
echo "<br>";
echo preg_replace('#([a-zA-Z]+)\1{'.(3-1).',}#u','\1\1\1', $text);
echo "<br>";
echo preg_replace('#([a-zA-Z])\1{3,}#u','\1\1\1', $text);
ААА ааа 111...,,,!!!???
АААААА аааааа 1111111...........,,,,,,,!!!!!????
АААААА аааааа 1111111...........,,,,,,,!!!!!????

Вам говорят о том что бы вы попробовали создать РК там бы и увидели приблизительную стоимость клика интересующего вас вопроса

Всего: 3912