最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

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

时间:2014-09-22 22:57来源:未知 作者:最模板zuimoban 点击:
大家知道英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数,其实不然,它计算的是字节的长度而非字符的长度,那么如何获取一

大家知道英文字符占一个字节,而中文字符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.vcphp.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. ?>
(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容
  • php json_encode utf-8中文问题

    以前碰到最多的是json_encode是gbk 编码时出现乱码,今天发现uft8也会出现中文乱码了,下面我们一...

  • php中怎么区别false与0

    PHP中当变量为0时,该变量同时也就等于false,那么如何区别0和false?这在有些条件语句中就很有用...

  • PHP操作文件问答

    前言:PHP中对各类数据库的操作有着支持,对文件的操作也同样有着很丰富的操作方法,很多朋...

  • 三分钟学会PHP正则表达式

    PHP是编写动态WEB页面开发常用的脚本语言,而正则表达式是PHP中很重要的一个部分,下面我们...

  • PHP中的日期怎么样处理

    PHP作为一个后台编程语言,现在是比较流行的了,那么PHP中的日期怎么样处理呢?下面是PHP中日期...

  • php is_file 判断文件存在

    我们利用了file_exists和is_file函数来判断是否为文件和文件是否存在,这里我们对路径说了一下特...