由于中文是两个字节所以不能像英文和数字那样来用substr()这样会出现乱码,幸好在php有mb_substr()函数来处理这个问题。
一、中文截取:mb_substr()
mb_substr( $str, $start, $length, $encoding )
$str,需要截断的字符串
$start,截断开始处,起始处为0
$length,要截取的字数
$encoding,网页编码,如utf-8,GB2312,GBK
实例代码如下:
- <?php
- $str='电影618:http://www.phpfensi.com';
- echo mb_substr($str,0,5,'utf-8');
- ?>
结果显示:电影618
二、获取中文长度:mb_strlen()
mb_strlen( $str, $encoding )
$str,要计算长度的字符串
$encoding,网页编码,如utf-8,GB2312,GBK
实例代码如下:
- <?php
- $str='电影618:http://www.phpfensi.com';
- echo mb_strlen($str,'utf-8');
- ?>
结果显示:29 |