s///e と sprintf を使って規定回数以上連続する半角英数を1文字にしてみます。
対象となる繰り返し回数や修正後の文字数は、それぞれ変更する事ができます。
掲示板などでテーブルを固定していない場合、半角英数を連続で書き込まれると
ブラウザが横に伸びてしまいますが、これにより改善できます。
下の例では、5文字以上連続する半角英数があった場合、1文字に置き換えています。
繰り返し回数は (\d{5,}) と ([a-zA-Z]{5,}) の数字部分を変更します。
置換え後の回数は %.1s の数字部分を修正する事で変更できますが、sprintf
を
使っていますので、これ以外の表記にすることもできます。
下の例では置換えがあった場合、その直後に置換えが行われた事を示す(置換)と表示されます。
単に削除してしまう場合は、下のように置換え後の式に何も入れません。
下の場合 5回以上連続した半角英数を発見すると削除します。
|