PHP mb_ereg() でハマった
mb_ereg() でハマった。
mb_ereg() で半角カタカナの入力チェックをしていたら、環境によってチェックの結果が違った。
具体的には全角カナなのに半角カナと誤認されてしまったり…。
そして↓なページを見つけた。
http://blog.asial.co.jp/181
原因は簡単なことでした。
「mb_regex_encoding」でマルチバイト対応の正規表現を使用される文字エンコーディングの設定が、
使用エンコードと違うため誤動作をしていたみたいです。
というわけで試したらできた!
<?php $s = "アイウ"; mb_regex_encoding("utf8"); $r = mb_ereg("[ヲ-゚]", $s); var_dump($r); // => bool(false) ?>