php 정규 한자 일치 방법 에 대한 소개
3709 단어 php 정규 일치 한자
/^[\x{4e 00}-\x{9fa 5}]+$/u 이상 의 정규 표현 식 은 많은 phop 프로그래머 들 의 한자 일치 정규 표현 식 을 괴 롭 히 는 것 입 니 다.실제로 인 코딩 이 다 르 고 프로그램 언어 가 조금씩 다 르 기 때문에 주의 하지 않 으 면 정확 한 결 과 를 얻 을 수 없습니다.다음은 utf-8 인 코딩 의 예 입 니 다.
$str = " ";
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
print(" ");
} else {
print(" ");
}
아래 의 예 는 gbk,gb 2312 의 :
를 포함한다.<?php
$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 "<font color=red> [".$str."] </font>";
}
else
{
echo "<font color=green> [".$str."] , !</font>";
}
}
?>
<form method="POST" action="?action=sub">
( , , , ):
<input type="text" name="dir" value="">
<input type="submit" value=" ">
</form>