Smarty模板变量与调节器实例详解(2)

调节器一般用法

变量调节器作用于变量、自定义函数或字符串。变量调节器的用法是:‘|'符号右接调节器名称。变量调节器可接收附加参数影响其行为。参数位于调节器右边,并用‘:'符号分开。

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的正则表达式,要么使用自定义函数或调节器。因为正则法则属于程序代码,其并不认为是内容外在表现的一部份。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5510.html