<ruby><rt>
タグって面倒くさいよね
仕事の案件で必要に迫られた「HTMLで表示されるすべての漢字にルビを振る」という作業が地味にしんどい。そこで、正規表現を使った置換でラクをしたのでまとめ。
下準備
置換前
青(あお) 噛(か)んで熟(い)って頂戴(ちょうだい)<br>
終電(しゅうでん)で帰(かえ)るってば 池袋(いけぶくろ)
まずはテキストを 漢字(かんじ)
の形式で成形。パターンは( )でも[ ]でも何でもいいのですが、ルビが振ってあるWord文書をコピー&ペーストするとこの形式になるので、これをそのまま採用。
でもって、下記の置換を実行。
検索文字列
([一-龠]+)\(([あ-ん]+)\)
置換文字列
<ruby>$1<rt>$2</rt></ruby>
[一-龠]
の範囲指定については下記を拝借。
phpで漢字の正規表現を調べる(utf-8) - Qiita
http://qiita.com/awm-kaeruko/items/45f7074ba26424c4fce5
厳密には「[々]
が入っていない」など細々あるようですが、例外は目検でチェックすりゃええやん…というざっくりポリシーで。
実行結果
置換後
<ruby>青<rt>あお</rt></ruby> <ruby>噛<rt>か</rt></ruby>んで<ruby>熟<rt>い</rt></ruby>って<ruby>頂戴<rt>ちょうだい</rt></ruby><br>
<ruby>終電<rt>しゅうでん</rt></ruby>で<ruby>帰<rt>かえ</rt></ruby>るってば <ruby>池袋<rt>いけぶくろ</rt></ruby>
青 噛んで熟って頂戴
終電で帰るってば 池袋
やったぜ。
あとがき
初 Qiita投稿。
ここ1~2年、技術系の調べものをしていると Qiitaにヒットすることが多くなってきたので、イケてるえんぢにあのすなる Qiitaといふものをヌルヌルえんぢにあもしてみむとてするなり。よろしくお願いします。