.NET

青空文庫形式のルビ表現って『小説家になろう』みたいなサイトでも使われているのよね。ひとつの定番と言えるわ。

HTMLのルビタグ(rubyタグ)を、この形式に変更してみましょう。

正規表現(System.Text.RegularExpressions)を使うわ。

using System.Text.RegularExpressions;
:
:
:
       /// <summary>
       /// 雑多なタグを削除する。
       /// </summary>
       /// <param name="dx"></param>
       /// <returns></returns>
       static string tagRemover(string dx)
       {
           string r = dx;
           r = Regex.Replace(r, @"(<[^>]+>)", "");
           return (r);
       }

       /// <summary>
       /// HTMLのRubyタグを青空文庫形式のルビつきテキストに直す。
       /// </summary>
       /// <param name="q">入力値</param>
       /// <param name="ff">先頭に「|」をつけるかどうか。</param>
       /// <returns>補正後のカッコつきテキスト</returns>
       static string cnvRuby(string q,Boolean ff)
       {
           string sep = "|";
           if (ff == false)
           {
               sep = "";
           }
           string r = Regex.Replace(q, @"<ruby>", sep, RegexOptions.IgnoreCase);
           r = tagRemover(r);
           return (r);
       }

       static void Main(string[] args)
       {
           string r = cnvRuby("<ruby><rb>残念</rb><rp>(</rp><rt>ざんねん</rt><rp>)</rp></ruby>、それは<ruby><rb>私</rb><rp>(</rp><rt>わたし</rt><rp>)</rp></ruby>のおいなりさんだ", true);
           Console.WriteLine(r);
           Console.ReadLine();
       }
   }
}

#ref(): File not found: "rubytag1.png" at page "HTMLのルビタグを青空文庫形式のルビ表記に変更"


トップ   編集 凍結解除 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-02-10 (水) 10:51:54