Joomla的字符截断/字数限制功能
Joomla的API中,提供了字符截断的功能,大家有兴趣的可以查看Joomla官方API文档的说明:
http://api.joomla.org/cms-3/classes/JHtmlString.html
我在这里也大概介绍一下
一、abridge 内部截断
用法如下
<?php echo JHtml::_('string.abridge',$item->introtext,20); ?>
其中$item->introtext是你要处理的文本,$intro是你要限制省略号前的字数的值,$length是你要限制所有的字符,包括中间的省略号(占三字符)。效果就是如果字符串长度超出定义值,则内部截断。例如:
<?php
$ycway = '欢迎加入Joomlafox,我们一起学习交流吧。';
echo JHtml::_('string.abridge',$ycway,$length = 18,$intro =10);
?>
输出的结果是:
欢迎加入Joomla...习交流吧。
这里一个汉字算一个字符,一个英文字母算一个字符,标点符号也算一个字符。
二、truncate 字符截断
这个是更为常用的方法,例如这样
<?php
$ycway = '欢迎加入Joomlafox,我们一起学习交流吧。';
echo JHtml::_('string.truncate',$ycway,$length=10, $noSplit = false, $allowHtml = false);
?>
其中$length是你要限制的字符数,效果就是如果字符串长度超出定义值,则在后面添加省略号(省略号不计入限制字数)。
输出的结果是:
欢迎加入Joomla...
这里依然是汉字字母都占一个字符,当使用的是英文环境,可以使用$noSplit = true实现以单词为限制数量,$allowHtml是控制是否包含Html标签。
这里介绍的方法,只适用Joomla默认的文章组件和模块,如果你需要了解其他扩展,例如K2的字符截断,可以浏览《k2的字符截断/字数限制功能》。