PHP:如何获取字符串中的重复字符


PHP : How to get repeated character in string

我有这样的字符串:

Aaaaaaaaa

我想停止重复3次,但不要打断小写/大写,如下所示:

Aaa

我的正则表达式断开小写/大写:

$patternReplace = '/(.)'1{3,}/iu';    
$chaine = preg_replace($patternReplace, '$1$1$1', $chaine, -1 );

结果:

AAA

我想得到:

Aaa

thanx帮助

使用子模式获取额外的backreferences(第一个子模式用于第一个字符,第二个子模式用于接下来的两个相同字符):

$chain = "Aaaaaaaaa";
$patternReplace = '/(.)('1{2})'1{1,}/iu';
$chain = preg_replace($patternReplace, '$1$2', $chain);
print_r($chain);  // "Aaa"