> 백엔드 개발 > PHP 튜토리얼 > PHP는 문자열이 순수 영어인지, 순수 중국어 문자인지, 중국어와 영어가 혼합된 형식인지 확인합니다.

PHP는 문자열이 순수 영어인지, 순수 중국어 문자인지, 중국어와 영어가 혼합된 형식인지 확인합니다.

WBOY
풀어 주다: 2016-07-25 09:04:27
원래의
1011명이 탐색했습니다.
  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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿