本文講述了Smarty模板變量調節器用法。分享給大家供大家參考,具體如下:
在smarty裡面,怎麼修飾文本和變量呢?當然,你可以通過php函數處理文本,然後再通過assign()方法分配到模板,其實smarty提供了變量調節器能夠很容易的處理文本,語法方式如下:
{$var|modifier1|modifier2|modifier3|…}
說明:1.不管應用了多少個函數,都應該以|來進行分離.
說明:2.參數用":"分開,如:
{$str|truncate:40:"..."} //截取字符串長度為40,並以...結尾。
Smarty模板中常用的變量調解函數
成員方法名
描 述
capitalize
將變量裡的所有單詞首字母大寫,參數值boolean型決定
帶數字的單詞是否首字大寫,默認不大寫
count_characters
計算變量值裡的字符個數,參數值boolean型決定是否計
算空格數,默認不計算空格
cat
將cat裡的參數值連接到給定的變量後面,默認為空
count_paragraphs
計算變量裡的段落數量
count_sentences
計算變量裡句子的數量
count_words
計算變量裡的詞數
date_format
日期格式化,第一個參數控制日期格式,如果傳給date_format
的數據是空的,將使用第二個參數作為默認時間
default
為空變量設置一個默認值,當變量為空或者未分配時,
由給定的默認值替代輸出
escape
用於html轉碼、url轉碼,在沒有轉碼的變量上轉換單引號、
十六進制轉碼、十六進制美化,或者JavaScript轉碼。
默認是html轉碼
indent
在每行縮進字符串,第一個參數指定縮進多少個字符,
默認是四個字符;第二個參數,指定縮進用什麼字符代替
lower
將變量字符串小寫
nl2br
所有的換行符將被替換成<br/>.功能同PHP中的nl2br()函數一樣
regex_replace
尋找和替換正則表達式,必須有兩個參數,參數1是替
換正則表達式,參數2使用什麼文本字串來替換
replace
簡單的搜索和替換字符串,必須有兩個參數,參數1是
將被替換的字符串,參數2是用來替換的文本
spacify
在字符串的每個字符之間插入空格或者其他的字符串.,
參數表示將在兩個字符之間插入的字符串,默認為一個空格
string_format
是一種格式化浮點數的方法,例如十進制數,使用sprintf
語法格式化。參數是必須的,規定使用的格式化方式。%d
表示顯示整數,%.2f表示截取兩個浮點數
strip
替換所有重復的空格,換行和tab為單個或者指定的字符串。
如果有參數則是指定的字符串
strip_tags
去除所有html標簽
truncate
從字符串開始處截取某長度的字符,默認是80個
upper
將變量改為大寫
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換行符替換成:
<{$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}>
更多關於Smarty相關內容感興趣的讀者可查看本站專題:《smarty模板入門基礎教程》、《PHP模板技術總結》、《PHP基於pdo操作數據庫技巧總結》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基於smarty模板的PHP程序設計有所幫助。