(preg_match_all("/(.)\\1\\1\\1/",$t, $m)) не работает в utf-8

12
M
На сайте с 20.08.2004
Offline
376
#11

Признаю ваш способ лучше! Спасибо.

Вот для меня запинкой было ('#(.)\1{'.($max-1).',}#u' - сколько пришлось подолбаться что бы заставить эти функции работать с ютф!

Miracle добавил 05.01.2010 в 13:19

(редко ставлю репу но вам снова не могу поставить - пишет что нужно поставить кому-то другому) - я надеюсь спасибо вас удовлетворит :)

отец сыночка, лапочки дочки и еще одного сыночка
[Удален]
#12
ewg777:
Дуд, for($i = 0; $i<mb_strlen($text,"UTF-8"); $i++) так нельзя, если сравнивать по скорости. Регулярка здесь будет лучше.

ну я честно говоря подумал что это может быть быстрее потому что регулярки тоже "пушка" так сказать. падение сокрости в моем примере может быть изза массивов создаваемых в памяти, mb_* функций, которые тоже думаю не моментально работают да и да, просто перебор это уг метод.

тест я провел по причине того, что сталкивался с "тяелостью" регулярок, которые у меня и проц кушали неплохо и время генерации в анал уводили ... там я переписывал на форичи как раз :)

bearman добавил 05.01.2010 в 13:32

афигейте жесть

http://blog.alternativaplatform.com/ru/files/2008/04/temple.swf

http://blog.alternativaplatform.com/ru/files/2008/04/bunker.swf

bearman добавил 05.01.2010 в 22:16

тс, а что у вас за регулярка была, которая заработала? не сохранилась? на интерес глянуть "как еще можно" :)

M
На сайте с 20.08.2004
Offline
376
#13

А можно как то отслеживать не одинарные символы, например

опа опа опа опа опа - сокращалось до нескольких?

или обязательно знать эти словоформы (опа)?

спасибо

dvaes
На сайте с 03.09.2007
Offline
65
#14
Miracle:
А можно как то отслеживать не одинарные символы, например
опа опа опа опа опа - сокращалось до нескольких?
или обязательно знать эти словоформы (опа)?

аналогично


preg_replace('#([^\s]+\s?)\1{3,}#u', '\1\1\1', $text);

это и одинарные и нет по идее обрабатывает

12

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