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

PHP 2012-07-24 PHP,字符串

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

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

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

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

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>';
?>

测试字符串“琼台博客”,运行效果

PHP判断字符串类型

测试字符串“琼台博客 www.qttc.net”,运行结果

PHP判断字符串类型

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 '汉英混合';
}

文字链接:《PHP判断字符串是纯英文、纯汉字或汉英混合

文章地址:http://www.qttc.net/201207142.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 3