dポイントプレゼントキャンペーン実施中!

preg_matchによるカタカナチェックについて
宜しくお願い致します。

PHPのバージョン:4.4.1
文字コード:euc-jp

preg_matchでカタカナのみ入力されているかをチェックしたいと思っております。
下記の様な感じで作ったのですが、ひらがなもスルーになってしまいます。

//会社名【カナ】の適合チェック
if(preg_match("/[^ァ-ヶー]+/",$hoge_kana))
{
print "カタカナ以外が含まれます";
}

どうすればカタカナ以外が含まれた場合にチェックできるのでしょうか?

A 回答 (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 "カタカナ以外が含まれます";
}?>
    • good
    • 0
この回答へのお礼

ありがとうございます!
ばっちりできました!!
preg関数はUTF-8で最適化されてるんですね。
勉強になりました。

お礼日時:2010/07/10 20:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!