人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

正規表現で文字列を変換したい
現在、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に変換できる方法があれば、ご教授いただきたいです。
よろしくお願いします。

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

その程度なら言語を選ばずほぼ同じ表現が使えます。
例として、はてなでよく取り上げられる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タグに変換できました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ