smarty变量调节器

变量调解器的用法格式:

 

变量调节器
变量调节器用于变量,自定义函数和字符串.
可以使用''符号和调节器名称应用调节器.
变量调节器由赋予的参数值决定其行为.
参数由':'符号分开.
如果你用变量调节器调节数组变量,结果是数组的每个值都被调节.如果你想要调节器调节整个数组,你必须在调节器名字前加上@符号.
例如: {$articleTitle@count}(这将会在输出 $articleTitle 数组里的数目)

 

变量在模板中输出以前如果需要调解,可以在该变量后面跟一个竖线"|",在后面使用调解的命令。而且对于同一个变量,你可以使用多个修改器,它们将从左到右按照设定好的顺序被依次组合使用,使用时必须要用"|"字符作为它们之间的分隔符语法如下所示:

 

{$var|modifier1|modifier2|modifier3|…}
{* 在模板中的变量后面多个调解器组合使用的语法 *}
说明:1.不管应用了多少个函数,都应该以|来进行分离.

如:{$username|
lower }即使用lower会将$username全部转换成小写.       
      {*  全部小写,字母间插入空格,截取80个字符长度  *} 
  • {$articleTitle|lower|truncate:30|spacify} 

 

 

变量调解器的参数应用:

变量调节器由赋予的参数值决定其行为,参数由冒号":"分开,有的调解器命令有多个参数。使用变量调节器的命令和调用PHP函数有点相似,其实每个调解器命令都对应一个PHP函数。

 

 

1. {$topic|truncate:40:"..."} {*截取变量值的
字符串长度为40,并在结尾使用"…"表示省略 *}

truncate函数默认截取字符串的长度为80个字符,但可以通过提供的第一个可选参数来改变截取的长度,
例如上例中指定截取的长度为40个字符。
还可以指定一个字符串作为第二个可选参数的值,追加到截取后的字符串后面,如省略号(…)。

 

 

自定义的变量调解器【自定义新的函数】

使用变量调节器的命令和调用PHP函数有点相似,其实每个调解器命令都对应一个PHP函数。
每个函数都自占用一个文件,存放在和Smarty类库同一个目录下的plugins目录中。
我们也可以按Smarty规则在该目录中添加自定义函数,对变量调解器的命令进行扩展。
也可以按照自己的需求,修改原有的变量调解器命令对应的函数。

 

 

常见的变量调解器

 

Smarty模板中常用的变量调解函数

成员方法名

描   

capitalize

将变量里的所有单词首字母大写,参数值boolean型决定

带数字的单词是否首字大写,默认不大写

count_characters

计算变量值里的字符个数,参数值boolean型决定是否计

算空格数,默认不计算空格

cat

将cat里的参数值连接到给定的变量后面,默认为空

count_paragraphs

计算变量里的段落数量

count_sentences

计算变量里句子的数量

count_words

计算变量里的词数

date_format

日期格式化,第一个参数控制日期格式,如果传给date_format

的数据是空的,将使用第二个参数作为默认时间

default

为空变量设置一个默认值,当变量为空或者未分配时,

由给定的默认值替代输出

escape

用于html转码、url转码,在没有转码的变量上转换单引号、

十六进制转码、十六进制美化,或者javaScript转码。

默认是html转码

indent

在每行缩进字符串,第一个参数指定缩进多少个字符,

默认是四个字符;第二个参数,指定缩进用什么字符代替

lower

将变量字符串小写

nl2br

所有的换行符将被替换成<br/>.功能同PHP中的nl2br()函数一样

regex_replace

寻找和替换正则表达式,必须有两个参数,参数1是替

换正则表达式,参数2使用什么文本字串来替换

replace

简单的搜索和替换字符串,必须有两个参数,参数1是

将被替换的字符串,参数2是用来替换的文本

spacify

在字符串的每个字符之间插入空格或者其他的字符串.,

参数表示将在两个字符之间插入的字符串,默认为一个空格

string_format

是一种格式化浮点数的方法,例如十进制数,使用sprintf

语法格式化。参数是必须的,规定使用的格式化方式。%d

表示显示整数,%.2f表示截取两个浮点数

strip

替换所有重复的空格,换行和tab为单个或者指定的字符串。

如果有参数则是指定的字符串

strip_tags

去除所有html标签

truncate

从字符串开始处截取某长度的字符,默认是80个

upper

将变量改为大写

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值