truncate
它将一个变量截断为一定字符长度,默认值是 80。作为可选的第二个参数,你可以指定一个文本字符串,如果变量被截断,则在末尾显示该字符串。字符串中的字符包含在原始的截断长度内。默认情况下,truncate
将尝试按词界截断。如果你想按确切的字符长度截断,则传递第三个可选参数 TRUE。
基本用法
参数
参数位置 | 类型 | 必需 | 默认值 | 说明 |
---|---|---|---|---|
1 | 整数 | 否 | 80 | 这将确定要截断到的字符数。 |
2 | 字符串 | 否 | ... | 这是替换截断文本的文本字符串。它的长度包含在截断长度设置中。 |
3 | 布尔值 | 否 | FALSE | 这将确定是否按 FALSE 的词界截断,还是按 TRUE 的确切字符截断。 |
4 | 布尔值 | 否 | FALSE | 这将确定截断是否在字符串末尾(FALSE)发生,还是在字符串中间(TRUE)发生。请注意,如果此设置是 TRUE,那么将忽略词界。 |
示例
<?php
$smarty->assign('articleTitle', 'Two Sisters Reunite after Eighteen Years at Checkout Counter.');
其中模板为
{$articleTitle}
{$articleTitle|truncate}
{$articleTitle|truncate:30}
{$articleTitle|truncate:30:""}
{$articleTitle|truncate:30:"---"}
{$articleTitle|truncate:30:"":true}
{$articleTitle|truncate:30:"...":true}
{$articleTitle|truncate:30:'..':true:true}
将输出
Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after Eighteen Years at Checkout Counter.
Two Sisters Reunite after...
Two Sisters Reunite after
Two Sisters Reunite after---
Two Sisters Reunite after Eigh
Two Sisters Reunite after E...
Two Sisters Re..ckout Counter.