php正則マッチング漢字の方法について紹介します
3511 ワード
php正則マッチング漢字!
/^[x{4 e 00}-x{9 fa 5}+$/u以上という正規表現は、多くのphpプログラマーを悩ませている漢字マッチングの正規表現ですが、実際には符号化が異なり、プログラム言語によって微妙な違いがあり、少し注意しないと正確な結果が得られません.次にutf-8符号化の例:
/^[x{4 e 00}-x{9 fa 5}+$/u以上という正規表現は、多くのphpプログラマーを悩ませている漢字マッチングの正規表現ですが、実際には符号化が異なり、プログラム言語によって微妙な違いがあり、少し注意しないと正確な結果が得られません.次にutf-8符号化の例:
$str = " ";
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
print(" ");
} else {
print(" ");
}
以下の例は、gbk、gb 2312の :
を含む$action = trim($_GET['action']);
if($action == "sub")
{
$str = $_POST['dir'];
//if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312
if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF-8
{
echo " [".$str."] ";
}
else
{
echo " [".$str."] , !";
}
}
?>
( , , , ):