php 判断是否有中文字符的两种方法
2010-08-25 12:59
676 查看
1、用正则判断是否为中文的代码
文件为GB2312格式:
<?php
$str= 'incode';
//$str=
'程序设计';
if (!preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",
$str))
{
echo '请您使用中文,谢谢!';
}?>
文件为UTF-8格式:
把正则判断改为://if(preg_match("/([/x4e00-/x9fa5])/",$str, $arr) )
2、使用php中的mb_strlen和strlen函数判断
<!-- [if gte mso 10]>
方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。
返回值相等的为纯英文、纯数字、英数混排;
返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字
返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排
如下列所示:
文件为GB2312格式:
<?php
$str= 'incode';
//$str=
'程序设计';
if (!preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/",
$str))
{
echo '请您使用中文,谢谢!';
}?>
文件为UTF-8格式:
把正则判断改为://if(preg_match("/([/x4e00-/x9fa5])/",$str, $arr) )
2、使用php中的mb_strlen和strlen函数判断
<!-- [if gte mso 10]>
方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。
返回值相等的为纯英文、纯数字、英数混排;
返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字
返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排
如下列所示:
<?php $strarray[1] = "hello"; $strarray[2] = "123456"; $strarray[3] = "123hello"; $strarray[4] = "你好"; $strarray[5] = "123你好"; $strarray[6] = "hello你好"; $strarray[7] = "123hello你好"; foreach ($strarray as $ke=>$value) { $x = mb_strlen($value,'gb2312'); $y = strlen($value); echo $strarray[$ke].' <span style="color: #ff0000;" mce_style="color: #ff0000;">'.$x.'</span> <span style="color:#ff0000;" mce_style="color:#ff0000;">'.$y.'</span>'; }?> 输出结果:hello 5 5 123456 6 6 123hello 8 8你好 4 6 123你好 7 9hello 你好 9 11 123hello你好 12 14
相关文章推荐
- php中判断字段中是否包含某个字符的方法
- 两种php中文字符转拼音问题解决方法
- js判断字符是否是汉字的两种方法小结
- php处理字符串,判断是否含有特殊符号,非中文,数字,字符
- 两种php中文字符转拼音问题解决方法
- 判断一个字符是否为数字的两种方法(C/C++)
- 两种php中文字符转拼音问题解决方法
- 两种php中文字符转拼音问题解决方法
- php判断变量是否是整数的两种方法
- 两种php中文字符转拼音问题解决方法
- 两种php中文字符转拼音问题解决方法
- JAVA中判断字符是否为中文的方法
- C语言 判断字符是否是一个数字的两种方法
- 两种php中文字符转拼音问题解决方法
- 两种php中文字符转拼音问题解决方法
- c#判断字符是否为中文的三种方法分享(正则表达式判断)
- 【iOS开发】判断NSString中的字符是否为中文的正确方法
- js判断字符是否是汉字的两种方法
- PHP实现通过中文字符比率来判断垃圾评论的方法
- paip.判断字符是否中文与以及判读是否是汉字uapi python java php