You are here: Home » All Categories » WordPress » WP Trick » mb_strimwidth函数的简单应用

mb_strimwidth函数的简单应用

Jul 8th, 2010 13:33 | Leave a comment?(68) Go to comments

在《简单的文章截断方法, 支持 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的版本。

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/archives/25189

Filed under

WP Trick

| Tags:

, , ,

Related Posts

Most Popular

68 Comments.

⊕Leave a comment?
  1. A.shun A.shun Opera 10.70Windows XP

    看不懂。。。继续more截断

    用opera 10.70路过

    21楼
  2. 牵手博客网 牵手博客网 Tencent Traveler 4.0Windows XP

    牵手博客网做个调查:
    1、你做站是否只在站长圈做推广?
    2、你网站上是否挂GG广告或百度联盟?
    3、你是否每天都查看网站统计和广告收入后台?
    4、你的GG广告点击客户是?
    5、你收入是否月入2000以上?

    希望各位站长朋友能够接受调查,答复自己的问题!
    谢谢!

    22楼
  3. 阿修 阿修 Google Chrome 5.0.375.99Windows 7

    继续more……

    23楼
  4. Leo.N Leo.N Firefox 3.6.6Windows 7

    好函数~~~

    24楼
  5. ikeeptrying ikeeptrying Google Chrome 6.0.453.1Windows 7

    不懂 友情支持~
    点点ad~

    25楼
  6. ForRSS ForRSS Firefox 3.6.6Windows Server 2003

    很实用的函数。

    26楼
  7. mealdy mealdy Firefox 3.6.6Windows XP

    你写的怎么都这么有用啊,不敢看了,自卑ing

    27楼
  8. mealdy mealdy Firefox 3.6.6Windows XP

    标题后面显示...确实很cool

    28楼
  9. BB霜 BB霜 Tencent Traveler 4.0Windows XP

    被小图给吸引了

    29楼
  10. 31楼
  11. 百奥博 百奥博 Firefox 3.6.9Windows XP

    这些天一直在思考给一个自定义页面模板实现截断,终于在这里找到答案。我用的是get_the_excerpt

    32楼
  12. 飞晏 飞晏 Google Chrome 6.0.472.53Windows 7

    是基于substr()写的吗

    33楼
  13. 安啦网 安啦网 Firefox 3.6.13Windows XP

    学习了

    34楼
  14. liveme liveme Google Chrome 10.0.628.0Windows XP

    之前搞过截断,但是表情显示不出来。今天又重新弄了下,原来是设置显示的字数太少了 :???:
    顺便提一下,你第一个例子那里,问号前少了个分号

    35楼
  15. liveme liveme Google Chrome 10.0.628.0Windows XP

    今天上去你网站访问不了。
    请教个问题,怎么表情符号占的字符数那么多的?一旦满足了表情显示,需要的字符数非常多,有没有这个函数控制都一样了。

    36楼
  16. wuxinxinggg wuxinxinggg Google Chrome 15.0.874.120Windows XP

    请问下博主,我调用最新文章是使用get_archives('postbypost',10)来实现的,请问应该如何截断呢……自己试了下,怎么都没成功,非常感谢 :razz:

    38楼
  17. youanan youanan Firefox 9.0.1Windows 7

    请教一下,如果别人用了</br>,还是会出现两行怎么办?

    39楼

Leave a Reply