Old

转用PHP截断函数mb_substr()

最近主机搬到朋友 Timothy(这里表示非常感谢!)那里,不知什么原因,主机对我主题原来使用的用来截断中文的 mb_strimwidth() 函数支持不好,具体原因不知。

mb_strimwidth() 函数可以参考我这篇文章《mb_strimwidth函数的简单应用》,一般有后台(Cpanel、DA)的主机都支持。

于是我今天查了下 PHP 手册,转用 mb_substr() 函数来截断文字。

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

$str,需要截断的字符串
$start,截断开始处
$length,长度(注意,这个跟mb_strimwidth不同,1就代表一个中文字符)
$encoding,编码,我设为 utf-8

:截断文章标题,控制在15个文字

<?php echo mb_substr(get_the_title(), 0, 15,"utf-8"); ?>

就这样,没了。

zww
or
oooo

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

95 comments

  1. A.shun A.shun Opera 11 Opera 11 Windows XP Windows XP

    编码出错 :oops:

    沙发
  2. A.shun A.shun Opera 11 Opera 11 Windows XP Windows XP

    @A.shun
    囧,我的配置文件编码问题- -

  3. fblue fblue ChromePlus 1 ChromePlus 1 Windows 7 Windows 7

    上次用你的侧边栏最新评论用到的mb_strimwidth,这个也收藏了 :eek:

    板凳
  4. ......
  5. 迷笛 迷笛 Internet Explorer 8 Internet Explorer 8 Windows 7 Windows 7

    在本地修改一个主题的时候也是碰到无法使用mb_strimwidth,但其它主题正常。当我改为post_content, 0, 230,"utf-8"); ?>之后出现的却是带缩略图的 :???: 并且这个缩略图是很完美不变形的 :mrgreen:

    41楼
  6. LAONB LAONB Google Chrome 9 Google Chrome 9 Windows 7 Windows 7

    哎,看来我不是学程序的料了,而且也来不及学了。
    我折腾了几天的东西,结果同事帮忙,一行代码搞定,这就是差距啊。

    42楼
  7. 淬念 淬念 Firefox 3 Firefox 3 Windows XP Windows XP

    我的淬念一直有这个问题,今天,我解决了,因为我决定不截断标题了.

    43楼

Leave a Reply