smarty模板之变量调节器

调节器一般用法

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

1,capitalize:首字母大写

变量所有单词首字母大写作用,和php的ucword()作用相同。

PHP:
$smarty->assign('article','smarty method');
$smarty->display('test22.tpl');

tpl:{$article|capitalize}

show:

2,cat:字符串拼接

PHP:
$smarty->assign('article','smarty method');
$smarty->display('test22.tpl');

tpl:{$article|cat:"hello"}

show:

3,count_characters:计算字符数(参数默认false)

PHP:
$smarty->assign('article','smarty method');
$smarty->display('test22.tpl');

tpl:

{$article}
{$article|count_characters}//默认false不计算空格
{$article|count_characters:true}计算空格

show:

count_paragraphs,count_sentences,count_words:分别是计算变量里的段落数量,计算变量里句子的数量,计算变量里的词数

4,default:为变量设置默认值。当变量未设置或为空字符串时,将由给定的默认值替代其输出。Default需要一个参数。

PHP:
$smarty->assign('article','');
$smarty->display('test22.tpl');

tpl:

{$article|default:"no article"}

show:

5,lower和upper:将字符串小写和大写

6,date_format:格式化日期时间,因为是格林威治时间,所以相差8小时

PHP:
$smarty->assign('time',time());
$smarty->display('test22.tpl');

tpl:

{$time}//自1970年1月1日到现在的秒数
<br>
{$time|date_format}//月,日,年
<br>
{$time|date_format:"%Y-%m-%d %H:%M:%S"}//年月日 时分秒
<br>
{$time|date_format:"%H:%M:%S"}//时分秒

show:

date_format转换标记:

%a - 当前区域星期几的简写 
%A - 当前区域星期几的全称 
%b - 当前区域月份的简写 
%B - 当前区域月份的全称 
%c - 当前区域首选的日期时间表达 
%C - 世纪值(年份除以 100 后取整,范围从 00 到 99) 
%d - 月份中的第几天,十进制数字(范围从 01 到 31) 
%D - 和 %m/%d/%y 一样 
%e - 月份中的第几天,十进制数字,一位的数字前会加上一个空格(范围从 ’ 1’ 到 ‘31’) 
%g - 和 %G 一样,但是没有世纪 
%G - 4 位数的年份,符合 ISO 星期数(参见 %V)。和 %V 的格式和值一样,只除了如果 ISO 星期数属于前一年或者后一年,则使用那一年。 
%h - 和 %b 一样 
%H - 24 小时制的十进制小时数(范围从 00 到 23) 
%I - 12 小时制的十进制小时数(范围从 00 到 12) 
%j - 年份中的第几天,十进制数(范围从 001 到 366) 
%m - 十进制月份(范围从 01 到 12) 
%M - 十进制分钟数 
%n - 换行符 
%p - 根据给定的时间值为 am' 或pm’,或者当前区域设置中的相应字符串 
%r - 用 a.m. 和 p.m. 符号的时间 
%R - 24 小时符号的时间 
%S - 十进制秒数 
%t - 制表符 
%T - 当前时间,和 %H:%M:%S 一样 
%u - 星期几的十进制数表达 [1,7],1 表示星期一 
%U - 本年的第几周,从第一周的第一个星期天作为第一天开始 
%V - 本年第几周的 ISO 8601:1988 格式,范围从 01 到 53,第 1 周是本年第一个至少还有 4 天的星期,星期一作为每周的第一天。(用 %G 或者 %g 作为指定时间戳相应周数的年份组成。) 
%W - 本年的第几周数,从第一周的第一个星期一作为第一天开始 
%w - 星期中的第几天,星期天为 0 
%x - 当前区域首选的时间表示法,不包括时间 
%X - 当前区域首选的时间表示法,不包括日期 
%y - 没有世纪数的十进制年份(范围从 00 到 99) 
%Y - 包括世纪数的十进制年份 
%Z 或 %z - 时区名或缩写 
%% - 文字上的 `%’ 字符


7,string_format:一种格式化字符串的方法,例如格式化为十进制数等等。相对于php的sprintf()函数。

PHP:
$smarty->assign('num',12.23333);
$smarty->display('test22.tpl');

tpl:

{$num}
<br>
{$num|string_format:"%.2f"}
<br>
{$num|string_format:"%d"}

show:

猜你喜欢

转载自blog.csdn.net/weixin_42545184/article/details/84059945