首页 > 后端开发 > php教程 > php判断字符串是纯英文、纯汉字或汉英混合格式

php判断字符串是纯英文、纯汉字或汉英混合格式

WBOY
发布: 2016-07-25 09:04:27
原创
1015 人浏览过
  1. $strarray[1] = "hello";
  2. $strarray[2] = "123456";
  3. $strarray[3] = "123hello";
  4. $strarray[4] = "脚本学堂";
  5. $strarray[5] = "123程序员之家";
  6. $strarray[6] = "hello程序员之家";
  7. $strarray[7] = "123hello程序员之家";
  8. foreach ($strarray as $key->$value)
  9. {
  10. $x = mb_strlen($value,'gb2312');
  11. $y = strlen($value);
  12. echo $strarray[$key].' '.$x.' '.$y.'';
  13. }
  14. ?>
复制代码

运行结果: hello 5 5 123456 6 6 123hello 8 8 程序员之家 2 4 123程序员之家 5 7 hello程序员之家 7 9 123hello程序员之家 10 12

php没有直接函数来判断一个字符串是否是纯英文或纯汉字以及汉英混合,只能自己写函数。要想实现此功能就必需对字符集汉字编码占位进行了解,就目前国内比较常用的字符集当属UTF8与GBK了。 UTF8每个汉字等于3个长度; GBK每个汉字等于2个长度;

利用以上汉字与英文的差异,我们就可以利用mb_strlen函数与strlen函数分别计算出两组长度数字,然后根据规律进行运算即可判断出字符串的类型了。

UTF-8实例

  1. /**
  2. * PHP判断字符串纯汉字 OR 纯英文 OR 汉英混合
  3. */
  4. echo '';
  5. function utf8_str($str){
  6. $mb = mb_strlen($str,'utf-8');
  7. $st = strlen($str);
  8. if($st==$mb)
  9. return '纯英文';
  10. if($st%$mb==0 && $st%3==0)
  11. return '纯汉字';
  12. return '汉英混合';
  13. }
  14. $str = '博客';
  15. echo '字符串:'.$str.',是'.utf8_str($str).'';
  16. ?>
复制代码

GBK方法

  1. function gbk_str($str){
  2. $mb = mb_strlen($str,'gbk');
  3. $st = strlen($str);
  4. if($st==$mb)
  5. return '纯英文';
  6. if($st%$mb==0 && $st%2==0)
  7. return '纯汉字';
  8. return '汉英混合';
  9. }
  10. ?>
复制代码


来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板