capitalize:
{*格式化單詞*}
{$str|capitalize}{*默認(rèn)*}
{$str|capitalize:true}
{*帶數(shù)字的開頭是否大寫,第二個參數(shù),首字母后面的是不是小寫*}
{$str|capitalize:true:true}{*多個參數(shù)用冒號隔開*}
cat:
{*字符串連接函數(shù)*}
{$str1|cat:'huge!'}
count_characters:
{*計算字符數(shù)*}
{$str|count_characters}
{$str|count_characters:true}{*包含空格*}
{*
類似函數(shù)有,count_paragraphs:計算段落數(shù),以換行符為標(biāo)識
count_sentences:計算變量有多少個句子。每個句子必須以點(diǎn)號、問號或者感嘆號結(jié)尾
count_words:計算變量內(nèi)容有多少個單詞
*}
count_paragraphs:
{$str2}
{$str2|count_paragraphs}
date_format:
{*格式化日期的顯示*}
{$smarty.now|date_format:'%Y-%m-%d %l:%M:%S %p'}{*12小時制*}
{*%T等價于%H:%M:%S,24小時制*}
{*%p:只顯示AM或PM;%r:等價于%l:%M:%S %p*}
{*其他變量修飾器:
default:設(shè)置默認(rèn)值,當(dāng)變量未定義或?yàn)榭諘r,啟用,需要傳入默認(rèn)值
escap:可用于將變量編碼成html,url,單引號,16進(jìn)制,16進(jìn)制實(shí)體,javascript和電子郵件,默認(rèn)是html
unescap:escap的解碼函數(shù)
indent:代碼縮進(jìn),默認(rèn)是4個空格,可以自行設(shè)置數(shù)目和類型,但頁面顯示無效果,只支持代碼縮進(jìn)
lower:將字符串轉(zhuǎn)換為小寫
upper:將變量轉(zhuǎn)換為大寫字母
nl2br:將變量值中'\n'轉(zhuǎn)換為
regex_replace:用正則表達(dá)式搜索和替換變量值,參數(shù)分別是正則表和要替換的字符達(dá)式
replace:對變量進(jìn)行簡單的搜索和替換,同上,只是第一個參數(shù)直接是字符串
spacify:會在變量的字符串中插入空格,可以設(shè)置插入字符的類型
string_format:格式化字符串,如浮點(diǎn)數(shù),指定哪種格式,springf()
strip:轉(zhuǎn)換連續(xù)空格,回車和tab到單個空格或是指定的字符串
strip_tag:去除標(biāo)記等包含在<和>中間的字符,參數(shù)bool值,指定是否將標(biāo)簽轉(zhuǎn)換為空格
from_charset:將變量值轉(zhuǎn)換為當(dāng)前的字符集
to_charset:可將變量值由當(dāng)前的內(nèi)置字符集轉(zhuǎn)換到指定的字符集
truncate:截取字符串到指定的長度,默認(rèn)是80,截取后字符的長度是截取規(guī)定的長度加上第二個參數(shù)的字符長度,參數(shù)1,長度,默認(rèn)80,參數(shù)2,替代顯示字符,默認(rèn)...,參數(shù)3,是否按單詞截取,默認(rèn)true,參數(shù)4,當(dāng)字符截取度剛好等于字符本身的長度時,是否截取,默認(rèn)true
wordwrap:限制一行字符的長度(自動換行)默認(rèn)是80,參數(shù)1,行長度,參數(shù)2,換行符,默認(rèn)'\n',參數(shù)3,設(shè)置按單詞換行(false,默認(rèn)),還是按字符換行(true)
*}
內(nèi)置函數(shù):
appand{*在運(yùn)行時為數(shù)組變量增加或創(chuàng)建值*}
{append var='arr' value='元素1' index='first'}
The first name is {$arr.first}
assign
{*在模板運(yùn)行時,給變量賦值*}
{assign var='name' value='huge'}
The Name is {$name}
block:
{*
可以再模板上定義一塊區(qū)域,以進(jìn)行模板繼承,參數(shù)1,模板區(qū)域名稱;參數(shù)2,append:區(qū)域代碼將附加到父母版{block}內(nèi)容之后,參數(shù)3,prepend:之前,hide在沒有該名稱區(qū)域時,忽略區(qū)域內(nèi)容,nochache:關(guān)閉緩沖,可以通過$smarty.block.parent和$smarty.block.child來獲取父元素和子元素
*}
{literal}會重寫當(dāng)前的文檔流
{extends file='blockparent.tpl'}
{block name='pblock'}childblock{/block}{*直接覆蓋父元素*}
{block name='pblock' append}appendchildblock{/block}{*置于父元素后面,prepend用法類似*}
{block name='pblock' }{$smarty.block.parent}{/block}
{*獲取父元素中的全部內(nèi)容,包括不在block中的內(nèi)容,$smarty.block.child*}
{/literal}
{*literal:將標(biāo)簽內(nèi)的內(nèi)容原樣輸出*}
call:
{*
可以調(diào)用一個通過{function}標(biāo)簽定義的模板函數(shù),參數(shù)1,name,函數(shù)名;參數(shù)2,
*}
{function name='myfun'}
this is a function標(biāo)簽
{/function}
{call name='myfun'}
capture:
{capture name='mycap'}This is a capture{/capture}
{$smarty.capture.mycap}
for:
{for $i=20 to 10 max=3}{*簡單的for循環(huán),max,可選,設(shè)置最大循環(huán)次數(shù)*}
item{$i}
{forelse}沒有循環(huán)時,顯示的內(nèi)容。
{/for}
if:
{if $myname eq 'huge'}
welcome huge!
{elseif $myname=='萍兒'}
welcome 學(xué)姐
{else}
對不起,不為外星人提供服務(wù)!
{/if}
include:
{include file='include.tpl' title='名單'}
{*
{ldelim}:左定界符
{rdelim}:右定界符
這樣直接在瀏覽器輸出這兩個定界符,不進(jìn)行解析
*}
nocache:
{*關(guān)閉局部緩沖*}
{nocache}
{$smarty.now|date_format:'%T'}
{/nocache}
section:
{section name='sc' loop=$arr1 start=0 step=1 max=3 show=true}
{$arr1[sc]}
{sectionelse}
控數(shù)組
{/section}
strip:
{*過濾多余空格和回車,使頁面內(nèi)容在一行顯示*}
{strip}
{/strip}
while:
{while $len>1}
item{$len--}
{/while}