<?php
/**
* 【1.测试一】
* 当$str = '中文测试'; 时输出"全部是汉字";当$str = '中a文3测试'; 时输出"不全是汉字";
* 应用说明:当某个地方要求用户输入的内容必须全部是中文时,这个就派上用场了。
*/
$str =
'中文测试'
;
if
(preg_match_all(
"/^([\x81-\xfe][\x40-\xfe])+$/"
, $str, $match)) {
echo
'全部是汉字'
;
}
else
{
echo
'不全是汉字'
;
}
/**
* [2.测试二]
* 当$str = '中a文3测试'; 时输出"含有汉字";当$str = 'a345'; 时输出"不含有汉字";
* 应用说明:当某个地方要求用户输入的内容中必须含有中文时(而不一定全部是中文),这个就派上用场了。
* 经测试,上述变量$str的内容与utf8还是gbk编码无关,判断结果均是一样的。
*/
$str =
'中a文3测试'
;
if
(preg_match(
"/([\x81-\xfe][\x40-\xfe])/"
, $str, $match)) {
echo
'含有汉字'
;
}
else
{
echo
'不含有汉字'
;
}
/**
* 判断全是中文
*/
$str=
"'324是"
;
if
(!eregi(
"[^\x80-\xff]"
,
"$str"
)){
echo
"全是中文"
;
}
else
{
echo
"不是"
;
}
/**
* 判断含有中文 (方法1)
*/
$str =
"中文"
;
if
(preg_match(
"/[\x7f-\xff]/"
, $str)) {
echo
"含有中文"
;
}
else
{
echo
"没有中文"
;
}
/**
* 判断含有中文 (方法2)
*/
$pattern =
'/[^\x00-\x80]/'
;
if
(preg_match($pattern,$str)){
echo
"含有中文"
;
}
else
{
echo
"没有中文"
;
}
/**
* 【php过滤汉字和非汉字】
*/
$sc=
"aaaaaaaaaaaaaadddd.......##--__i汉子汉字过滤"
;
//iconv("UTF-8","GB2312",$sc);utf-8转码
echo $temp=eregi_replace(
"[^\x80-\xff]"
,
""
,$sc);
//保留汉字(过滤非汉字)
echo $temp=preg_replace(
"/[\\x80-\\xff]/"
,
""
,$sc);
//保留非汉字(过滤汉字),注意两条反斜线