0

なぜ以下が機能しないのですか?

<?php
 $text = 'Hell   looo   w  orlldddddd!!!!!!!!!';
 $sanitized = preg_replace("/(\w|\s)\1{1,}/mi","$1",$text);
 echo $sanitized;
 ?>

期待される出力は次のようになります。Helloworld!

ありがとうございました

4

2 に答える 2

1

これを試して:

$text = 'Hell   looo   w  orlldddddd!!!!!!!!!';
$sanitized = preg_replace('/(\w|\s|.)\\1+/', '$1',$text);
 echo $sanitized;

出力:

Hel lo w orld!

この場合、これは正規表現で実行できる最善の方法です。

于 2012-12-20T17:03:49.790 に答える
-1

正規表現内のスラッシュを忘れました:

/(\w|\s)/\1{1,}/mi
于 2012-12-20T17:08:10.747 に答える