Удаление нескольких повторяющихся символов из строки

У меня есть строки вроде этого:

$str = 'This -----is a bbbb test';

Как удалить все повторяющиеся символы, если это происходит более трех раз?

Итак, например, строка выше должна выглядеть следующим образом:

'This is a test';
2 ответа

Вы можете сделать это с помощью регулярных выражений и preg_replace():

$new_str = preg_replace('/(.)\1{3,}/', '', $str);


$t = preg_replace('/(\S)\1{3,}/', '', $t);

Каждое не-пространство длиной более 3 символов будет заменено ничем

licensed under cc by-sa 3.0 with attribution.