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

WBOY
Libérer: 2016-07-25 09:04:27
original
995 Les gens l'ont consulté
  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. ?>
复制代码


source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!