2012-04-13 51 views
3

から複数の重複した文字を削除します。は、私はこの1つのような文字列を持っている文字列

$str = 'This -----is a bbbb test'; 

それが3回以上発生した場合、どのように私はすべての重複文字を削除することができますか?次のように

そうは、例えば、上記の文字列を見なければならない:

'This is a test'; 

答えて

7

をあなたはregular expressionspreg_replace()を使用してこれを行うことができます。

長い
$new_str = preg_replace('/(.)\1{3,}/', '', $str); 
+0

ありがとうございます、完璧な作品! – Mike

+0

うーん、これは動作しません。私はそのトリックを行う別の正規表現を使用します:preg_replace( '{([\ w])\ 1 +}'、 ''、$ str); – besimple

1
$t = preg_replace('/(\S)\1{3,}/', '', $t); 

すべて非スペース 3文字以上はで置き換えられます。

+0

sryがバックリファレンスを忘れてしまった –

関連する問題