php汉字正则表达式

php汉字正则表达式

gbk编码下汉字正则

1.判断字符串是否全是汉字

代码如下

<?php

$str = '全部是汉字测试';

if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) {

echo '全部是汉字';

} else {

echo '不全是汉字';

}

?>

当$str = '全部是汉字测试'; 时输出"全部是汉字";

当$str = 'all全部是汉字测试'; 时输出"不全是汉字";

2.判断字符串是否包含汉字

代码如下

<?php

$str = '汉字3测试';

if (preg_match("/([x81-xfe][x40-xfe])/", $str, $match)) {

echo '含有汉字';

} else {

echo '不含有汉字';

}

?>

当$str = '汉字3测试'; 时输出"含有汉字";

当$str = 'abc345'; 时输出"不含有汉字";

上述变量$str的内容与utf8还是gbk编码无关,判断结果是一样的。

utf-8编码下用正则表达式如何匹配汉字

代码如下

$str = "php编程";

if (preg_match("/^[x{4e00}-x{9fa5}]+$/u",$str)) {

print("该字符串全部是中文");

} else {

print("该字符串不全部是中文");

}