首頁 >後端開發 >php教程 >php判斷字串是純英文、純漢字或漢英混合格式

php判斷字串是純英文、純漢字或漢英混合格式

WBOY
WBOY原創
2016-07-25 09:04:271011瀏覽
  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. ?>
复制代码


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn