現在、html上に出力する文字列にふりがなをつける処理を作っています。
オレは<span class="ruby">東京<span class="rt">とうきょう</span></span><span class="ruby">生<span class="rt">う</span></span>まれ<span class="ruby">HIPHOP<span class="rt">ひっぷほっぷ</span></span>育ち
rubyで囲っている文字の上に、rtで囲っている文字をふりがなとして配置する、という仕組みです。
ただ、この状態だと冗長なソースになる&実際に文章の内容を書く人がhtmlその他プログラミングに詳しくない方のため、以下のような形で文章を書き、正規表現で変換できればと思っております。
オレは[東京[とうきょう]][生[う]]まれ[HIPHOP[ひっぷほっぷ]][育[そだ]]ち
以上のような形で文章を書いて、正規表現で上記のhtmlに変換できる方法があれば、ご教授いただきたいです。
よろしくお願いします。
その程度なら言語を選ばずほぼ同じ表現が使えます。
例として、はてなでよく取り上げられるphpで書いておきますので、あとはご自身でどうぞ。
<?php // 元のテキスト $string = 'オレは[東京[とうきょう]][生[う]]まれ[HIPHOP[ひっぷほっぷ]][育[そだ]]ち'; // 正規表現 $pattern = '/\[(.+?)\[(.+?)\]\]/i'; // 置換パターン $replacement = '<span class="ruby">$1<span class="rt">$2</span></span>'; // 実行 $string = preg_replace($pattern, $replacement, $string); // 出力 echo $string;
結果です。
オレは<span class="ruby">東京<span class="rt">とうきょう</span></span><span class="ruby">生<span class="rt">う</span></span>まれ<span class="ruby">HIPHOP<span class="rt">ひっぷほっぷ</span></span><span class="ruby">育<span class="rt">そだ</span></span>ち
ありがとうございます。無事htmlタグに変換できました。
2014/06/25 18:48:30