很久沒有使用Smarty做項目了,今天突然要改改自己的網站裡面的一些東西,因為我網站是很久以前用smarty模板引擎做的,改著改著有些地方就感覺還得網上搜答案了,看來對久違的smarty已經開始生疏了,趕緊補習一下。對Smarty模板的變量操作符稍微做一下總結,以備後用。
Smarty模板變量操作符介紹
capitalize [首字母大寫],示例:{$smarty.get.name|capitalize}
count_characters [計算字符數],示例:{$smarty.get.name|count_characters}
cat [連接字符串],示例:{$smarty.get.name|cat:'welcome to www.phpernote.com'},連接兩個變量如:{$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:'phpernote.com'},意思是當沒有接受到name參數或者接收到的name參數值為空的時候,使用phpernote.com代替這個值。
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(換行符)替換成<br />],示例:{$smarty.get.name|nl2br}
regex_replace [正則替換],示例:{$smarty.get.name|replace:"/[\r\t\n]/":"phpernote.com"},將變量中的符合正則的內容替換成指定內容
replace [替換],示例:{$smarty.get.name|replace:"baidu.com":"phpernote.com"},將變量中要求的內容替換成指定內容,示例的意思是將變量中所有baidu.com替換為phpernote.com。
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手冊!