如何使用Smarty模板變量調(diào)節(jié)器?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在smarty里面,怎么修飾文本和變量呢?當(dāng)然,你可以通過php函數(shù)處理文本,然后再通過assign()方法分配到模板,其實smarty提供了變量調(diào)節(jié)器能夠很容易的處理文本,語法方式如下:
{$var|modifier1|modifier2|modifier3|…}
說明:1.不管應(yīng)用了多少個函數(shù),都應(yīng)該以|來進行分離.
說明:2.參數(shù)用":"分開,如:
{$str|truncate:40:"..."} //截取字符串長度為40,并以...結(jié)尾。
Smarty模板中常用的變量調(diào)解函數(shù)
成員方法名 | 描 述 |
capitalize | 將變量里的所有單詞首字母大寫,參數(shù)值boolean型決定 帶數(shù)字的單詞是否首字大寫,默認不大寫 |
count_characters | 計算變量值里的字符個數(shù),參數(shù)值boolean型決定是否計 算空格數(shù),默認不計算空格 |
cat | 將cat里的參數(shù)值連接到給定的變量后面,默認為空 |
count_paragraphs | 計算變量里的段落數(shù)量 |
count_sentences | 計算變量里句子的數(shù)量 |
count_words | 計算變量里的詞數(shù) |
date_format | 日期格式化,第一個參數(shù)控制日期格式,如果傳給date_format 的數(shù)據(jù)是空的,將使用第二個參數(shù)作為默認時間 |
default | 為空變量設(shè)置一個默認值,當(dāng)變量為空或者未分配時, 由給定的默認值替代輸出 |
escape | 用于html轉(zhuǎn)碼、url轉(zhuǎn)碼,在沒有轉(zhuǎn)碼的變量上轉(zhuǎn)換單引號、 十六進制轉(zhuǎn)碼、十六進制美化,或者JavaScript轉(zhuǎn)碼。 默認是html轉(zhuǎn)碼 |
indent | 在每行縮進字符串,第一個參數(shù)指定縮進多少個字符, 默認是四個字符;第二個參數(shù),指定縮進用什么字符代替 |
lower | 將變量字符串小寫 |
nl2br | 所有的換行符將被替換成<br/>.功能同PHP中的nl2br()函數(shù)一樣 |
regex_replace | 尋找和替換正則表達式,必須有兩個參數(shù),參數(shù)1是替 換正則表達式,參數(shù)2使用什么文本字串來替換 |
replace | 簡單的搜索和替換字符串,必須有兩個參數(shù),參數(shù)1是 將被替換的字符串,參數(shù)2是用來替換的文本 |
spacify | 在字符串的每個字符之間插入空格或者其他的字符串., 參數(shù)表示將在兩個字符之間插入的字符串,默認為一個空格 |
string_format | 是一種格式化浮點數(shù)的方法,例如十進制數(shù),使用sprintf 語法格式化。參數(shù)是必須的,規(guī)定使用的格式化方式。%d 表示顯示整數(shù),%.2f表示截取兩個浮點數(shù) |
strip | 替換所有重復(fù)的空格,換行和tab為單個或者指定的字符串。 如果有參數(shù)則是指定的字符串 |
strip_tags | 去除所有html標簽 |
truncate | 從字符串開始處截取某長度的字符,默認是80個 |
upper | 將變量改為大寫 |
php代碼示例如下:
capitalize(首字母大寫):
<{$a|capitalize}>
count_characters(字符計數(shù)):
<{$b|count_characters}>
cat(連接字符串):
<{$c|cat:world}>
count_paragraphs(計算段數(shù))----(換行符\n):
<{$d|count_paragraphs}>
count_sentences(計算句數(shù)):
<{$e|count_sentences}>
count_words(計算詞數(shù)):
<{$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":"你好"}>
提醒:
往往開發(fā)中有時候是滿足不了需求的,那就可以直接寫這些變量調(diào)節(jié)器,其實所謂的變量調(diào)節(jié)器就是一個函數(shù),在這里我們自己建一個,首先在plugins文件夾里面間建立一個php文件,命名一定按著他的規(guī)范。
modifier.capita.php
function Smarty_modifier_capita($string){ //函數(shù)命名也是有規(guī)范的 return strtoupper(substr($string,0,1)).strtolower(substr($string,1)); }
模版文件調(diào)用:
<{$a|capita}>
關(guān)于如何使用Smarty模板變量調(diào)節(jié)器問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。
文章名稱:如何使用Smarty模板變量調(diào)節(jié)器-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://m.newbst.com/article30/dceipo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、做網(wǎng)站、手機網(wǎng)站建設(shè)、網(wǎng)站營銷、定制網(wǎng)站、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容