替换多个相同的字母

Leg*_*nar 1 php regex

我需要在相同的三行中preg_replace多个相同的字母(只有AZ或az,而不是数字).任何人都可以用模式字符串帮助我吗?

例:

输入:NO MEK PUCES CUDAK AVVVVVVVVVVVVVVVVVVVVVVVVV VASMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

输出:没有MEK PUCES CUDAK AVVV VASMAAA

fal*_*tru 6

使用group(([A-Za-z]))和backreference(\1).

$text = "NO MEK PUCES CUDAK AVVVVVVVVVVVVVVVVVVVVVVVVV VASMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";    
echo preg_replace('/([A-Za-z])\1{3,}/', "$1$1$1", $text);
# => NO MEK PUCES CUDAK AVVV VASMAAA
Run Code Online (Sandbox Code Playgroud)