有个插件名字叫 Limit Posts Automatically,可以统一截断首页的文章输出。
最终被我找到的函数是 mb_strimwidth()。它能满足的需求有:正确截断,无乱码,每条截取内容的长度基本相等。
乱码问题解释和解决:
先简单介绍一下。mb_strimwidth() 会根据”宽度”来截取文字,全角字符宽度为2,半角字符为 1,只要我们将截断的宽度设置为偶数,那最后截断输出的内容一定不会有乱码。
在截断输出首页文章内容的问题上,我们还应该搭配 strip_tags() 来共同实现。strip_tags() 的作用是清除字符串内的 html 标签,放在这里就是清除输出的内容格式(包括清除图片)。既然目的是截取小段文字,自然也不需讲求格式。
废话打住,说”正题”:
请找到模板内 index.php 中的
将其替换为
post_content)), 0, 120,”……”); ?>
之后首页文章内容截断输出就实现了。更改截取字数请调整例子中的 “120″ 为你想要的数值,它后面的 “……” 是输出末尾的替换内容,款式参考我的首页。这六个点也算在 120 之内,占 6 个半角宽度。
如果有看我前面对 mb_strimwidth 的介绍,聪明人该知道怎么将他们用在 Wordpress 模板侧边栏,毕竟在 css3 普及之前,用 PHP 的截断方式肯定是最佳的侧边栏截断选择。
老大在邮件做如下汇总:
echo mb_strimwidth("一二三四五六七八九十一二", 0, 23, '...','utf-8');
会输出如下内容:一二三四五六七八九十...这是因为mb这个函数算长度,如果总字符串小于指定的长度,那就不用截取啦!我在你原
来的字符串上加了个”二”,就会截出你要的结果了!看来是我们对这个函数了解不够
啊!
最终被我找到的函数是 mb_strimwidth()。它能满足的需求有:正确截断,无乱码,每条截取内容的长度基本相等。
乱码问题解释和解决:
先简单介绍一下。mb_strimwidth() 会根据”宽度”来截取文字,全角字符宽度为2,半角字符为 1,只要我们将截断的宽度设置为偶数,那最后截断输出的内容一定不会有乱码。
在截断输出首页文章内容的问题上,我们还应该搭配 strip_tags() 来共同实现。strip_tags() 的作用是清除字符串内的 html 标签,放在这里就是清除输出的内容格式(包括清除图片)。既然目的是截取小段文字,自然也不需讲求格式。
废话打住,说”正题”:
请找到模板内 index.php 中的
将其替换为
post_content)), 0, 120,”……”); ?>
之后首页文章内容截断输出就实现了。更改截取字数请调整例子中的 “120″ 为你想要的数值,它后面的 “……” 是输出末尾的替换内容,款式参考我的首页。这六个点也算在 120 之内,占 6 个半角宽度。
如果有看我前面对 mb_strimwidth 的介绍,聪明人该知道怎么将他们用在 Wordpress 模板侧边栏,毕竟在 css3 普及之前,用 PHP 的截断方式肯定是最佳的侧边栏截断选择。
老大在邮件做如下汇总:
echo mb_strimwidth("一二三四五六七八九十一二", 0, 23, '...','utf-8');
会输出如下内容:一二三四五六七八九十...这是因为mb这个函数算长度,如果总字符串小于指定的长度,那就不用截取啦!我在你原
来的字符串上加了个”二”,就会截出你要的结果了!看来是我们对这个函数了解不够
啊!
作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1630/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
评论列表
2011-12-24 16:04 | 3qsami
嗯,这让我对这个函数的了解更进一步了。不知道不搭配strip_tags()函数会不会乱成一团?
分页: 1/1 1