濁音だけ赤文字に変える方法

[上に] [前に] [次に]
1999/05/30(日) 14:54:49
入力された文章の濁音をすべて赤文字に変えたいです。
$comment =~ s/が/<font color=ff0000>が</font>/g;
$comment =~ s/ぎ/<font color=ff0000>ぎ</font>/g;
$comment =~ s/ぐ/<font color=ff0000>ぐ</font>/g;
               "
               "
               "
$comment =~ s/ぼ/<font color=ff0000>ぼ</font>/g;
というふうに一つづつ処理しようかと思っているのですが、
これだと処理が重くなりそうなので、
効率の良い変換方法があれば教えてください。

変換の対象となるコメント文は50文字程度です。

Aurai 1999/06/01(火) 07:43:30
$comment =~ s/が|ぎ|ぐ|げ|...../<font color=ff0000>$1</font>/g;
でどうでしょう

とほほ 1999/06/01(火) 23:20:13
$comment =~ s/(が|ぎ|ぐ|げ|.....)/<font color=ff0000>$1<\/font>/g;
ですね。確固とバックスラッシュが抜けています。

しかし、このままだと、漢字の第二バイトと次の漢字の第一バイトが
たまたま「がぎぐげご・・・」とマッチして誤変換を起こすことがあ
りそうですね。

$comment =~ s/([\x00-\x7f]|[\x80-\xff][\x00-\xff])/&func($1)/eg;
で漢字を1文字ずつ切り出して、func()サブルーチンで処理するか・・・

Aurai 1999/06/02(水) 00:12:09
……寝ぼけてましたね
お恥ずかしい

[上に] [前に] [次に]