7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

HTMLで<ruby><rt>タグを打つのが面倒なので正規表現でラクをした

Last updated at Posted at 2016-11-14

<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といふものをヌルヌルえんぢにあもしてみむとてするなり。よろしくお願いします。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?