PHP:如何在字符串

问题描述:

得到重复角色,我有一个字符串是这样的:PHP:如何在字符串

Aaaaaaaaa 

我想停止重复刚才的3倍,但不会打破小写/大写,如:

Aaa 

我的正则表达式打破了小写/大写:

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

结果:

AAA 

我想:

Aaa 

thanx的帮助

使用子模式,以获得额外的反向引用(第一个子模式是第一个字符,第二子模式 - 在接下来的两个相同字符):

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

print_r($chain); // "Aaa" 
+0

thanx很多!!! – user3134277

+0

...不客气 – RomanPerekhrest