今天在弄个人的Wordpress博客的时候,遇到一个字符串截断的问题。
在原来的主题样式里面,用的是mb_substr函数进行的字符串截断。发现有问题,这个函数将一个英文字符和一个中文字符同等对待,所以在长度上不能很好的控制。
后来查了PHP的函数手册,发现了mb_strimwidth函数以及mb_strcut函数。
现将这三者的区别记录如下:
mb_strimwidth
1 | < ?<a href= "http://blog.tongxiong.com/tags/php" class = "st_tag internal_tag" rel= "tag" title= "标签 PHP 下的日志" >php</a> echo mb_strimwidth(get_the_title(), 0, 32, "..." ) ?> |
mb_substr
1 | < ?php echo mb_substr(get_the_title(), 0, 16, "utf-8" ); ?> |
mb_strcut
1 | < ?php echo mb_strcut(get_the_title(), 0, 32, "utf-8" ); ?> |
所以还是mb_strimwidth感觉好一些。推荐大家使用这个函数来进行字符串截断。