php函数计算中英文字符串长度的例子

发布时间:2020-04-02编辑:脚本学堂
一个计算中英言语字符串长度的php函数,php函数计算中英文字符串长度的方法,php函数方法与正则表达式方法的异同,感兴趣的朋友参考下。

利用php函数计算中英文字符串长度的方法

英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数。

其实不是这样的,它计算的是字节的长度而非字符的长度。

如何获取一个字符串中字符的长度呢?还有有mb_strlen().

例子:
 

复制代码 代码示例:
echo $str = 'PHP点点通';
echo strlen($str); //3*1+3*3=12 
echo mb_strlen($str, 'gb2312'); //3*1+3*2=9 
echo mb_strlen($str, 'utf-8'); //6

注意,mb系列的函数并不是PHP核心函数,默认没有开启的。

可以通过正则将字符串分解为字符个体,计算字符的个数即为字符串的长度。

例子:
 

复制代码 代码示例:
<?php 
function _strlen($str) 

   preg_match_all("/./us", $str, $matches); 
   return count(current($matches)); 
} //edit by www.jb200.com
 
echo _strlen("PHP点点通");  //6 
?>