在smarty裡面,怎麼修飾文本和變量呢?當然,你可以通過php函數處理文本,然後再通過assign()方法分配到模板,其實smarty提供了變量調節器能夠很容易的處理文本,語法方式如下:
{$var|modifier1|modifier2|modifier3|…}
說明:1.不管應用了多少個函數,都應該以|來進行分離.
說明:2.參數用":"分開,如:{$str|truncate:40:"..."}//截取字符串長度為40,並以...結尾。
php代碼示例如下:
capitalize(首字母大寫)
<{$a|capitalize}>
count_characters(字符計數)
<{$b|count_characters}>
cat(連接字符串)
<{$c|cat:world}>
count_paragraphs(計算段數)----(換行符\n)
<{$d|count_paragraphs}>
count_sentences(計算句數)
<{$e|count_sentences}>
count_words(計算詞數)
<{$f|count_words}>
------date_format(格式化日期)-----
<{$smarty.now|date_format:"%y-%m-%d %H:%I:%S"}>
---default(默認值)---------
<{$biaoti|default:"no biaoti"}>
----escape(編碼)-----
<{$dz|escape}>
------indent(首行縮進)-----
<{$in|indent}>
<{$in|indent:1:"\t"}>
nl2br換行符替換成<br />
<{$con|nl2br}>
-----------regex_replace 正則替換------
<{$h|regex_replace:"/[\r\t\n]/":" <br/> "}>
replace(替換)
<{$h|replace:"hello":"你好"}>
提醒:
往往開發中有時候是滿足不了需求的,那就可以直接寫這些變量調節器,其實所謂的變量調節器就是一個函數,在這裡建一個,首先在plugins文件夾裡面間建立一個php文件,命名一定按著它的規范,。
modifier.capita.php
function Smarty_modifier_capita($string){ //函數命名也是有規范的
return strtoupper(substr($string,0,1)).strtolower(substr($string,1));
}
模版文件調用:
<{$a|capita}>
*