天下网吧 >> 网吧天地 >> 天下码农 >> 桌面开发 >> VBS >> 正文

PHP获取字符长度加强版dstrlen函数

2021-5-13天下码农程序猿

PHP获取字符长度加强版dstrlen函数

大家知道,php里面的strlen获取的某些汉字和特殊字符会有差别。今天就分享一个加强版的strlen函数dstrlen函数源码,给大家一些参考,你可以直接拿去使用!

function dstrlen($str) {
	if(strtolower(CHARSET) != 'utf-8') {
		return strlen($str);
	}
	$count = 0;
	for($i = 0; $i < strlen($str); $i++){
		$value = ord($str[$i]);
		if($value > 127) {
			$count++;
			if($value >= 192 && $value <= 223) $i++;
			elseif($value >= 224 && $value <= 239) $i = $i + 2;
			elseif($value >= 240 && $value <= 247) $i = $i + 3;
	    	}
    		$count++;
	}
	return $count;
}
代码分析:

CHARSET为自定义的一个常量,define出来的,通常用来表示网站的编码,一般为UTF-8.

如果不是UTF-8编码的情况下,直接使用PHP原版strlen获取长度返回。

否则,每个字符循环获取它的ASCII码值,根据字符的ASCII值做对应的转换处理。

本文来源:天下码农 作者:程序猿

相关文章
没有相关文章
声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行