php中中文截取函数mb_substr()详细

由于中文是两个字节所以不能像英文和数字那样来用substr()这样会出现乱码,幸好在php有mb_substr()函数来处理这个问题。

一、中文截取:mb_substr()

mb_substr( $str, $start, $length, $encoding )

$str,需要截断的字符串

$start,截断开始处,起始处为0

$length,要截取的字数

$encoding,网页编码,如utf-8,GB2312,GBK

实例代码如下:

  1. <?php
  2. $str='电影618:http://www.phpfensi.com';
  3. echo mb_substr($str,0,5,'utf-8');//截取头5个字,假定此代码所在php文件的编码为utf-8
  4. ?>

结果显示:电影618

二、获取中文长度:mb_strlen()

mb_strlen( $str, $encoding )

$str,要计算长度的字符串

$encoding,网页编码,如utf-8,GB2312,GBK

实例代码如下:

  1. <?php
  2. $str='电影618:http://www.phpfensi.com';
  3. echo mb_strlen($str,'utf-8');//假定此代码所在php文件的编码为utf-8
  4. ?>

结果显示:29