• 締切済み

ルビを含むHTMLファイルの検索方法

iPhoneやAndroid向けのネイティブアプリを作っています。 HTMLファイルをwebviewで読み込む電子書籍アプリです。 そのテキストにはふりがなのためのrubyタグやrp、rtタグが入っているのですが、 (さらに言うと、途中にアンカー(aタグ)も含んでいます。) その文字列の検索方法で悩んでいます。 試しに通常のPCのブラウザ(chromeやfirefox)で「CTRL+F」で検索を行ったところ、 ブラウザ上でも検索ができないということがわかりました。 文字を検索すると、おそらく間に挟まれているタグが引っかかるためでしょうが、 正しく検索できません。 例えば、 「私(わたし)は学(がく)生(せい)です」 というようなふりがなの付け方だと、 「私」や「学」であればヒットするのですが、「私は」や「学生」が検索できないのです。 電子書籍アプリですので、検索ができると便利です。 ふりがながつかないテキストであれば、 プログラム側でHTMLファイルをバッファに読み込んで、 そこから文字列探索を行えば検索できるのですが ルビがあるファイルなので困っています。 結果としては、存在した行を抜き出す (改行brから改行brまで、あるいはpからpの終了タグまで) といったことをしたいと思っています。 どのような方法が考えられるでしょうか。 使用言語はIphoneではObjective-C、AndroidではJavaを用いています。 将来的にはWindowsなどのPCでも似たようなアプリを作りたいとも考えています。 どうぞよろしくお願いします。

みんなの回答

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.2

なるべく簡単そうな実装を考えてみたよ! 検索対象の文書を ルビの切れ目で区切ったディレクトリに見立てる。 ディレクトリには漢字とルビのディレクトリがあって、各ディレクトリのリンク先は共通の次の文字列のディレクトリ。 次のディレクトリは、単一かもしれないし、ルビで二つかもしれない。 あとは、ディレクトリの探索と同じ。

  • dscripty
  • ベストアンサー率51% (166/325)
回答No.1

急いでないなら、Firefox のバグ登録をしちゃおう! そのうち直るから、ソースを参考にするといいよ? いそいでるなら、正規表現を自分で拡張するしかないかなぁ。。。 google.com で キーワードを英語にして検索かけてみた? 他の人が既に解決してるかも。

Rupyjp
質問者

お礼

なるほど。Firefoxの開発者は出来る人ばかりでしょうから あっという間に直してくれるかもしれないですね。 出来れば自分で対応したいですが、 正規表現を拡張するのはかなり厄介でしょうね。 検索ではいい方法は見つからなかったですね。 どうもありがとうございます。

関連するQ&A

専門家に質問してみよう