UTF-8対応です。
//全て半角カタカナか?
//PHPの正規表現で、渡された文字列が全て半角カタカナかチェックします。(UTF-8向け)
//PHP 正規表現 半角カタカナ UTF8
$str = "。アイウエオカキクケコサシスセソタチツテトナニヌネノハイフヘホマミムメモラリルレロヤユヨワン゚";
if (preg_match("/^(?:\xEF\xBD[\xA1-\xBF]|\xEF\xBE[\x80-\x9F])+$/", $str)) {
echo "すべて半角カタカナである"."<br>\n";
} else {
echo "半角カタカナでない文字がある"."<br>\n";
}
//↓
//"すべて半角カタカナである"