• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP判断字符串是纯英文、纯汉字或汉英混同

php 搞代码 3年前 (2022-01-24) 20次浏览 已收录 0个评论

PHP判断字符串是纯英文、纯汉字或汉英混合

PHP判断字符串是否为中文(或英文)的方法,除了正则表达式判断和拆分字符判断字符的值是否小于128

?

外还有一种比较特别的方法。

使用php中的mb_strlen和strlen函数判断
方法比较简单:分别使用以上两个函数以当前编码测出字符的返回值,然后比较返回值。
返回值相等的为纯英文、纯数字、英数混排;
返回值不等,且strlen返回值可被mb_strlen整除的为纯汉字
返回值不等,且strlen返回值不可被mb_strlen整除的为英汉或数汉混排

?

看一下以下的例子:

<?php  $strarray[1] = "hello";$strarray[2] = "123456";$strarray[3] = "123hello"; $strarray[4] = "你好";$strarray[5] = "123你好";$strarray[6] = "hello你好";$strarray[7] = "123hello你好"; foreach ($strarray as $key->$value) {     $x = mb_strlen($value,'gb2312');     $y = strlen($value);     echo $strarray[$key].'  <span style="color: #ff0000">'.$x.'</span> <span style="color:#ff0000">'.$y.'</span>'; } ?> 

?

运行后的结果是:
hello 5 5
123456 6 6
123hello 8 8
你好 2 4
123你好 5 7
hello你好 7 9
123hello你好 10 12

?

来源: http://007blogchina.appspot.com/?p=130001

?

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

UTF8每个汉字等于3个长度;

GBK每个汉字等于2个长度;

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

?

本#文来源gaodai$ma#com搞$$代**码网$UTF-8实例

<?php/** * PHP判断字符串纯汉字 OR 纯英文 OR 汉英混合 */echo '<meta charset="utf-8" />';function utf8_str($str){    $mb = mb_strlen($str,'utf-8');    $st = strlen($str);    if($st==$mb)        return '纯英文';    if($st%$mb==0 && $st%3==0)        return '纯汉字';    return '汉英混合';} $str = '博客';echo '字符串:<span style="color:red">'.$str.'</span>,是<span style="color:red">'.utf8_str($str).'</span>';?>

?

GBK方法

function gbk_str($str){    $mb = mb_strlen($str,'gbk');    $st = strlen($str);    if($st==$mb)        return '纯英文';    if($st%$mb==0 && $st%2==0)        return '纯汉字';    return '汉英混合';}

?

来源: http://www.qttc.net/201207142.html

?

?

?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP判断字符串是纯英文、纯汉字或汉英混同

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址