调节器一般用法
变量调节器作用于变量、自定义函数或字符串。变量调节器的用法是:‘|'符号右接调节器名称。变量调节器可接收附加参数影响其行为。参数位于调节器右边,并用‘:'符号分开。
capitalize
变量所有单词首字母大写作用,和php的ucword()
作用相同。
<?php$smarty->assign('articleTitle', 'next x-men film, x3, delayed.');?>
//Where the template is: {$articleTitle} {$articleTitle|capitalize} {$articleTitle|capitalize:true}
//Will output:
next x-men film, x3, delayed.
Next X-Men Film, x3, Delayed.
Next X-Men Film, X3, Delayed.
cat
将cat里的值后接到给定的变量后面。
<?php$smarty->assign('articleTitle', "Psychics predict world didn't end");?>
//index.tpl: {$articleTitle|cat:" yesterday."}
//OUTPUT:
Psychics predict world didn't end yesterday.
count_characters
<?php $smarty->assign('articleTitle', 'Cold Wave Linked to Temperatures.'); ?>
//Where template is: {$articleTitle} {$articleTitle|count_characters}//默认是false不计算空格 {$articleTitle|count_characters:true}//true确定计算空格字符。
//Will output:
Cold Wave Linked to Temperatures.
29
33
count_paragraphs,count_sentences,count_words
分别是计算变量里的段落数量,计算变量里句子的数量,计算变量里的词数作用,这里不一一举例。
default
为变量设置一个默认值。当变量未设置或为空字符串时,将由给定的默认值替代其输出。Default需要一个参数。
<?php$smarty->assign('articleTitle', 'Dealers Will Hear Car Talk at Noon.'); $smarty->assign('email', '');?>
//Where template is: {$articleTitle|default:'no title'} {$myTitle|default:'no title'} {$email|default:'No email address available'}
//Will output:
Dealers Will Hear Car Talk at Noon.
no title
Noemail address available
lower和upper
这里不想讲多少,一个是将字符串小写,一个大写。
replace和regex_replace
使用正则表达式在变量中搜索和替换,语法来自Php的preg_repalce函数。一种在变量中进行简单的搜索和替换字符串的处理。等同于php的str_replace()函数。 不懂得去看php手册。虽然Smarty支持regex正则调节器,但最好还是直接使用php的正则表达式,要么使用自定义函数或调节器。因为正则法则属于程序代码,其并不认为是内容外在表现的一部份。