我需要转换一个单词中出现两次或更多字母的单个字母.
例如:
School -> Schol
Google -> Gogle
Gooooogle -> Gogle
VooDoo -> Vodo
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容,但坚持使用eregi_replace中的第二个参数.
$word = 'Goooogle';
$word2 = eregi_replace("([a-z]{2,})", "?", $word);
Run Code Online (Sandbox Code Playgroud)
如果我\\\1用来替换?,它会显示完全匹配.我怎么把它写成单个字母?
有人可以帮忙吗?谢谢
顺便说一句:您应该使用preg_*(PCRE)函数而不是不推荐使用的ereg_*函数(POSIX).
Richard Szalay的回答是正确的:
$word = 'Goooogle';
$word2 = preg_replace('/(\w)\1+/', '$1', $word);
Run Code Online (Sandbox Code Playgroud)