mb_substr()截取中文方法的详解 (加上‘utf-8’,字符串截取不到的问题详解)

建议刚入门的程序猿同学可以创建一个博客,对自己遇到的问题可以归纳总结。一方面能使自己的技术得到阶段性的提高,另一方面也能帮助到和你遇到同一问题的有缘人。不乏有一种‘事了拂衣去’的小资情调。

长话短说:在工作中往往需要对文章进行截取一段字符串,后面用 ‘查看更多’表示;这是经常用到的工作场景,那自然就想到了 ‘mb_substr()’。所以赶紧美滋滋的去百度了下 ‘mb_substr()’ 

中文截取:mb_substr() 

 

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


$str,需要截断的字符串
$start,截断开始处,起始处为0
$length,要截取的字数
$encoding,网页编码,如utf-8,GB2312,GBK

 1 /*
 2 这里其他用法我就不接介绍了,重点介绍下加上‘utf-8’的使用方法
 3 */
 4 
 5 //需要的效果是,从某个位置开始截取到最后 
 6 $str='我爱你,中国!我爱你,中国!我爱你,中国!';
 7 
 8 echo mb_substr($str,3); //输出会乱码
 9 echo mb_substr($str,3,'utf-8');   //无输出
10 $len=mb_strlen($str,'utf-8');  //计算出字符串的长度
11 echo mb_substr($str,3,$len,'utf-8');//正常输出

注意:特别注意的是加上了‘utf-8’前面的参数一个也不能少,少了一个都会出错!因为参数有顺序问题!

原文地址:https://www.cnblogs.com/bossaiguo/p/8504220.html