• ベストアンサー

都合の良い検索

1バイト文字は正規表現でiをつければ大文字小文字認識しますが、その要領で「アイウエオ」の入力で「アイウエオ(半角カナ)」や、あわよくば「あいうえお」まで認識してくれる関数みたいなのは手元に存在するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

一度mb_convert_kana()で変換してから正規表現でチェックしてみては? <? $str="あいうえおアイウエオアイウエオABCABC123123"; (2つめのアイウエオは半角) $str=mb_convert_kana($str,"kha"); print $str; ?>

mpqfiogwd
質問者

補足

便利な関数の紹介、ありがとうございました。 検索として利用を考えています。該当文字列を格納して表示までしたいので、半カナ変換後に元の状態に戻せればバッチリなのですが。。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ごめんなさい。こちらの提示した例が悪かった。 変換して戻すのではなく、チェック用の変数で一度うけるとよいでしょう。 <? $str="あいうえおアイウエオアイウエオABCABC123123"; $str2=mb_convert_kana($str,"kha"); if(preg_match("/[アイウエオァィゥェォ]/",$str2)){ print "マッチしました"; } ?>

mpqfiogwd
質問者

お礼

こんな簡単にできるとは思いませんでした。バッチリです。ありがとうございました!