本文講述了Smarty模板變量調節器用法。分享給大家供大家參考,具體如下:
在smarty里面,怎么修飾文本和變量呢?當然,你可以通過php函數處理文本,然后再通過assign()方法分配到模板,其實smarty提供了變量調節器能夠很容易的處理文本,語法方式如下:
{$var|modifier1|modifier2|modifier3|…}
說明:1.不管應用了多少個函數,都應該以|來進行分離.
說明:2.參數用":"分開,如:
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轉碼,在沒有轉碼的變量上轉換單引號、
十六進制轉碼、十六進制美化,或者
在每行縮進字符串,第一個參數指定縮進多少個字符,
默認是四個字符;第二個參數,指定縮進用什么字符代替 |
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(首字母大寫):
1
|
<{ $a |capitalize}> |
count_characters(字符計數):
1
|
<{ $b |count_characters}> |
cat(連接字符串):
1
|
<{ $c |cat:world}> |
count_paragraphs(計算段數)----(換行符\n):
1
|
<{ $d |count_paragraphs}> |
count_sentences(計算句數):
1
|
<{ $e |count_sentences}> |
count_words(計算詞數):
1
|
<{ $f |count_words}> |
date_format(格式化日期):
1
|
<{ $smarty .now|date_format: "%y-%m-%d %H:%I:%S" }> |
default(默認值):
1
|
<{ $biaoti | default : "no biaoti" }> |
escape(編碼):
1
|
<{ $dz |escape}> |
indent(首行縮進):
1
2
|
<{ $in |indent}> <{ $in |indent:1: "\t" }> |
nl2br換行符替換成:
1
|
<{ $con | nl2br }> |
regex_replace 正則替換
1
|
<{ $h |regex_replace: "/[\r\t\n]/" : " <br/> " }> |
replace(替換)
1
|
<{ $h |replace: "hello" : "你好" }> |
提醒:
往往開發中有時候是滿足不了需求的,那就可以直接寫這些變量調節器,其實所謂的變量調節器就是一個函數,在這里我們自己建一個,首先在plugins文件夾里面間建立一個php文件,命名一定按著他的規范。
modifier.capita.php
1
2
3
4
|
function Smarty_modifier_capita( $string ){ //函數命名也是有規范的 return strtoupper ( substr ( $string ,0,1)). strtolower ( substr ( $string ,1)); } |
模版文件調用:
1
|
<{ $a |capita}> |
希望本文所述對大家基于smarty模板的PHP程序設計有所幫助。