ドットインストール代表のライフハックブログ
mb_eregを使う際には、mb_regex_encoding()関数で正規表現内で使う文字エンコーディングを指定して下さい。 <?php mb_regex_encoding("eucjp-win"); // EUCの例 $str = "テストタロウ"; if (mb_ereg("^[ア-ン゛゜ァ-ォャ-ョー「」、]+$", $str)) { echo "すべて全角カタカナである"; } else { echo "すべて全角カタカナではない"; } ?> <?php function is_katakana($text) { if (mb_ereg("^[ア-ン゛゜ァ-ォャ-ョー「」、]+$",$text)) { return TRUE; } else { return FALSE; } } ?>
phpでマルチバイト(日本語)の文字を判別にはmb_eregを使えば簡単なのですが、php4ではmb_eregはデフォルトでは使えず、phpのインストール時に「--enable-mbregex」としてconfigureしなければいけません。現状ではphp5がインストールされているサーバーや「--enable-mbregex」でconfigureされたphp4サーバーはまだ少ないので、mb_eregが使えない場合は、以下のようにpreg_match関数のPerl正規表現で文字コードを判別します。Perlプログラマでしたらおなじみですね。 他のWebサイトではmb_eregを使った例ばかりなので、今更ではありますが、参考までにpreg_matchでの例を記述してみます。 後述のサンプルスクリプトで使用する変数は以下です。文字コードはEUC-JP。 <?php $str1 = mb_conver
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く