在《简单的文章截断方法, 支持 Read more 加上 nofollow》一文中所使用的文章截断是使用mb_strimwidth函数来实现的,其实稍微想想就可以发现很多地方都可以使用这个函数,下面说明一下和举一些例子。
先说说mb_strimwidth函数:
mb_strimwidth是超轻量级的php函数,用来获取指定的宽度截断字符串。
使用方法:
mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encoding ]] )
参数说明:
$str //指定字符串
$start //指定从何处开始截取
$width //截取文字的宽度
$trimmarker //超过$width数字后显示的字符串
例一、限制文章标题文字个数
如我侧边栏的“Random Posts”和“Recent Posts”,因为侧边栏宽度有限,所以对于长文章标题会出现两行,这样有点影响美观,这时就可以用mb_strimwidth函数来限制文字个数在一行内。
文章标题的调用函数一般是这样:
<?php the_title(); ?>
我主题的侧边栏最多大概显示20个中文,所以可以限制在18个文字内,使用mb_strimwidth函数后变成如下:
<?php echo mb_strimwidth(get_the_title(), 0, 36,"..."); ?>
其中 36 代表 18 个双字节文字
例二、最新评论的文字个数
上篇文章《带头像显示的最新评论代码 - 蛋疼篇》里面的最新评论长度是用css的overflow:hidden属性来隐藏评论长度的,从而使每条评论占用一行,其实也可以用mb_strimwidth函数来截取固定的文字数量
最新评论代码中评论内容是:strip_tags($rc_comm->comment_content)
用mb_strimwidth函数限制文字变成:mb_strimwidth(strip_tags($rc_comm->comment_content), 0, 36,"...")
很方便的一个函数,还有其他应用就自己举一反三吧,mb_strimwidth()是php的函数,所以不依赖wp的版本。