欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP 统计中文字符串的长度 字符串转数字 php 分割字符串 php 字符串长度 ph

程序员文章站 2022-04-09 19:37:24
...
中文网站一般会选择两种编码:gbk/gb2312或是utf-8。
gbk编码下每个中文字符所占字节为2,例:
$zhStr = ‘您好,中国!’;
echo strlen($zhStr); // 输出:12
utf-8编码下每个中文字符所占字节为3,例:
$zhStr = ‘您好,中国!’;
echo strlen($zhStr); // 输出:18

那么如何计算这组中文字符串的长度呢?有人可能会说gbk下获取中文字符串长度除以2,utf-8编码下除以3不就行了吗?但是您要考虑字符串并不老实,99%的情况会以中英混合的情况出现。
这是WordPress中的一段代码,主要思想就是先用正则将字符串分解为个体单元,然后再计算单元的个数即字符串的长度,代码如下(只能处理utf-8编码下的字符串):

$zhStr = ‘您好,中国!’;
$str = ‘Hello,中国!’;
// 计算中文字符串长度functionutf8_strlen($string = null) {// 将字符串分解为单元
preg_match_all(“/./us”, $string, $match);
// 返回单元个数return count($match[0]);
}
echo utf8_strlen($zhStr); // 输出:6echo utf8_strlen($str); // 输出:9

下面我封装了一个函数准确计算中文字符串的长度:

functioncount_strlen($string = null)
{$fileType = mb_detect_encoding($string , array('UTF-8','GBK','LATIN1','BIG5')) ; //判断字符串中文编码的类型$length = iconv_strlen($string,$fileType);//根据字符编码计算字符串长度return$length;
}

$str = "中文45汶";
$len = count_strlen($str);
echo$len; //输出5
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHP 统计中文字符串的长度,包括了字符串,php方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

相关标签: 字符串 php