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"
thanx很多!!! – user3134277
...不客气 – RomanPerekhrest