- ベストアンサー
preg_matchによるカタカナチェックについて
preg_matchによるカタカナチェックについて 宜しくお願い致します。 PHPのバージョン:4.4.1 文字コード:euc-jp preg_matchでカタカナのみ入力されているかをチェックしたいと思っております。 下記の様な感じで作ったのですが、ひらがなもスルーになってしまいます。 //会社名【カナ】の適合チェック if(preg_match("/[^ァ-ヶー]+/",$hoge_kana)) { print "カタカナ以外が含まれます"; } どうすればカタカナ以外が含まれた場合にチェックできるのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
pregで日本語を厳密に評価できるのはurfだけです、一度utfにコンバートしてから チェックしてみてください <? header("Content-Type:text/html;charset=euc-jp"); $hoge_kana="ア"; $pattern="/[^ァ-ヶー]+/u"; $hoge_kana_utf=mb_convert_encoding($hoge_kana,"UTF8","EUC"); $pattern_utf=mb_convert_encoding($pattern,"UTF8","EUC"); if(preg_match($pattern_utf,$hoge_kana_utf)){ print "カタカナ以外が含まれます"; }?>
お礼
ありがとうございます! ばっちりできました!! preg関数はUTF-8で最適化されてるんですね。 勉強になりました。