当前位置:首页 > PHP教程 > php应用 > 列表

利用PHP函数计算中英文字符串长度

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-22 21:16:33 浏览: 评论:0 

大家知道英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数,其实不然,它计算的是字节的长度而非字符的长度,那么如何获取一个字符串中字符的长度呢?还有有mb_strlen().

例子,代码如下:

  1. echo $str = 'PHP点点通'
  2.  
  3. echo strlen($str); //3*1+3*3=12 
  4. echo mb_strlen($str'gb2312'); //3*1+3*2=9 
  5. echo mb_strlen($str'utf-8'); //6 

可恶的是,mb系列的函数并不是PHP核心函数,默认没有开启的,还有一个超简单的方法,通过正则将字符串分解为字符个体,计算字符的个数即为字符串的长度:www.phpfensi.com,代码如下:

  1. <?php 
  2. function _strlen($str
  3.         preg_match_all("/./us"$str$matches); 
  4.         return count(current($matches)); 
  5.  
  6. echo _strlen("PHP点点通");  //6 
  7. ?>

Tags: PHP计算长度函数 PHP计算中英文

分享到: