一聚教程网:一个值得你收藏的教程网站

热门教程

smarty模板使用笔记总结

时间:2022-06-25 02:17:49 编辑:袖梨 来源:一聚教程网

最近项目中使用到了smarty,先总结一点常用的功能,以备不时之需。

1、smarty循环计次:


foreach (array_expression as $key => $value)
from <=> array_expression;item <=> $value;key <=> $key。
name 属性可以任意指定(字母、数字和下划线的组合)。
foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一。
from 属性(通常是数组)决定循环的次数。
foreachelse 语句在 from 属性没有值的时候被执行。(from 属性所指定的值为空时,可用 foreachelse 语句指定——否则-干什么)
foreach 循环有自己的变量名,使用该变量名可以访问该循环. 使用方法为 {$smarty.foreach.foreachname.varname},其中 foreachname 即在 foreach 中指定的 name 属性。

例子

{foreach from=$variable key=key name=name iteam=value}
    {$variable|@count}     // 获取数组长度
    {$smarty.foreach.loop.iindex}    // 获取当前循环数组元素下标,以0开始
    {$smarty.foreach.loop.iteration}    // 获取当前循环次数,以1开始
    {$smarty.foreach.loop.first}    // 为true时,标记循环第一次执行
    {$smarty.foreach.loop.last}    // 为true时,标记循环最后一次执行
    {$smarty.foreach.name.last}    // 为true时,标记循环最后一次执行
    {$smarty.foreach.loop.show}    // 当前是否显示
    {$smarty.foreach.loop.total}    // 循环次数
{/foreach}

2、smarty格式化日期:

{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

3.smarty模板变量

capitalize [首字母大写],示例:{$smarty.get.name|capitalize}

count_characters [计算字符数],示例:{$smarty.get.name|count_characters}

cat [连接字符串],示例:{$smarty.get.name|cat:'welcome to www.111com.net'},连接两个变量如:{$smarty.get.name|cat:$smarty.get.password}

count_paragraphs [计算段落数],示例:{$smarty.get.name|count_characters}
 
count_sentences [计算句数],示例:{$smarty.get.name|count_sentences}

count_words [计算词数],示例:{$smarty.get.name|count_words}

date_format [时间格式],示例:{$smarty.server.request_time|date_format:"%Y-%m-%d %H:%M:%S"}或者{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"},显示格式如:2012-7-31 11:01:21

default [默认],示例:{$smarty.get.name|default:'111com.net'},意思是当没有接受到name参数或者接收到的name参数值为空的时候,使用111com.net代替这个值。
 
escape [转码],示例:{$smarty.get.name|escape:'url'} ?

indent [缩进],示例:{$smarty.get.name|indent:10:' '},段落首行缩进,这里示例是缩进了十个空格表示的字符。作用类似于css里面的text-indent。

lower [小写],示例:{$smarty.get.name|lower}

upper [大写],示例:{$smarty.get.name|upper}

nl2br [将变量中的n(换行符)替换成
],示例:{$smarty.get.name|nl2br}

regex_replace [正则替换],示例:{$smarty.get.name|replace:"/[rtn]/":"111com.net"},将变量中的符合正则的内容替换成指定内容

replace [替换],示例:{$smarty.get.name|replace:"baidu.com":"111com.net"},将变量中要求的内容替换成指定内容,示例的意思是将变量中所有baidu.com替换为111com.net。

spacify [插空],示例:{$smarty.get.name|spacify:"^^"},将变量字符与字符之间插入指定内容,包括空格。

string_format [字符串格式化],示例:{$smarty.get.namestring_format:"%d"},该操作是将变量中的内容格式化,格式化参数类同php的printf。

strip [去除(多余空格)],示例:{$smarty.get.name|strip:" "},如果存在第一个参数的话,则将空格替换为指定的内容,示例的意思是将空格都替换为" ";
 
strip_tags [去除html标签],示例:{$smarty.get.name|strip_tags}

truncate [截取],示例:{$smarty.get.name|truncate:10:'...'},示例的意思是截取10个字符,超出的部分用"..."代替,第二个参数为空的话,超出部分就直接省略了。

wordwrap [行宽约束],示例:{$smarty.get.name|wordwrap:30:"n":true},将超过指定的长度的内容强制换行

今天就列举到此了,以后会慢慢补充和完善,更为具体的Smarty模板变量操作符知识大家可以参考Smarty手册!

热门栏目