UTF8字符截取类
发布于:2022-01-17 09:50:54
#1 lintou
分享我的UTF8字符截取类
支持中英文两种字符长度的截取,对UTF8文本支持非常好。
用法:
1. 把msubstr放到sp框架的Extensions目录下,
2. 在你的控制器或者其他地方使用:
$myword = "殷勤移植地,曲槛小栏边。共约重芳日,还忧不盛妍。阻风开步障,乘月溉寒泉。谁料花前后,蛾眉却不全。失却烟花主,东君自不知。清香更何用,犹发去年枝。"; // 待截取的字符串
$cutword_en = spClass("msubstr")->cut($myword, 10, "..."); // 截取英文字符计算的10个字符,每个汉字 = 三个英文字符
$cutword_cn = spClass("msubstr")->mcut($myword, 10, "..."); // 截取中文文字符计算的10个字符,一个汉字 = 一个英文字符
2009-12-26 09:06:09
#2 setlt
有一种品德叫做支持,支持楼主。
2009-12-26 15:42:39
#3 jake
简单易用,挺不错的东西
2009-12-27 10:01:35
#4 lintou
:handshake
2009-12-28 10:10:46
#5 redguan
不好用,中英文混合的字符时不准备了。
2010-04-22 17:30:07
#6 azwl
其实php已经为我们做好了
string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )
如:
$t='asd哦人他啊爱的332 ';
echo mb_substr($t, 2, 6, 'utf8');
2010-04-22 21:50:22
#7 peter
回复 6 azwl 对头
2010-07-05 16:27:41
#8 yuyu775
其实php已经为我们做好了
string mb_substr ( string $str , int $start [, int $length [, string $encodi ...
azwl 发表于 2010-4-22 21:50 
关键是在SMARTY中应用!
2010-08-15 15:05:11
#9 gnuser
试试<{$string|truncate:100}>,吧
2011-05-24 12:08:04
#10 gnuser
如果在控制器中未截取,在输出页面中才截取的话就无法使用了。
2011-06-08 02:17:15
#11 小子210
支持楼主!
2011-11-22 17:54:13
#12 ˋ﹫._│噺
这个中英混合该怎么算?!那个mb_substr用不到啊,只能用substr,可是这样就截不了utf8的中文字符了..
2012-04-06 10:17:38
#13 jake
ˋ﹫._│噺 发表于 2012-4-6 10:17 
这个中英混合该怎么算?!那个mb_substr用不到啊,只能用substr,可是这样就截不了utf8的中文字符了.. ...
上面的类就是为了在没有mb_substr情况下对UTF8字符截取的功能
2012-04-06 22:51:30
#14 ˋ﹫._│噺
jake 发表于 2012-4-6 22:51 
上面的类就是为了在没有mb_substr情况下对UTF8字符截取的功能
谢谢.用别的方法解决了,这个类感觉还是不太好用.
2012-04-19 15:05:26
#15 lintou
ˋ﹫._│噺 发表于 2012-4-19 15:05 
谢谢.用别的方法解决了,这个类感觉还是不太好用.
挺好的啊
2012-04-20 00:10:25