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

WBOY
發布: 2016-07-25 09:04:27
原創
954 人瀏覽過
  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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!