您好,登錄后才能下訂單哦!
如何使用Smarty模板變量調(diào)節(jié)器?針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
在smarty里面,怎么修飾文本和變量呢?當(dāng)然,你可以通過php函數(shù)處理文本,然后再通過assign()方法分配到模板,其實(shí)smarty提供了變量調(diào)節(jié)器能夠很容易的處理文本,語法方式如下:
{$var|modifier1|modifier2|modifier3|…}
說明:1.不管應(yīng)用了多少個(gè)函數(shù),都應(yīng)該以|來進(jìn)行分離.
說明:2.參數(shù)用":"分開,如:
{$str|truncate:40:"..."} //截取字符串長度為40,并以...結(jié)尾。
Smarty模板中常用的變量調(diào)解函數(shù)
成員方法名 | 描 述 |
capitalize | 將變量里的所有單詞首字母大寫,參數(shù)值boolean型決定 帶數(shù)字的單詞是否首字大寫,默認(rèn)不大寫 |
count_characters | 計(jì)算變量值里的字符個(gè)數(shù),參數(shù)值boolean型決定是否計(jì) 算空格數(shù),默認(rèn)不計(jì)算空格 |
cat | 將cat里的參數(shù)值連接到給定的變量后面,默認(rèn)為空 |
count_paragraphs | 計(jì)算變量里的段落數(shù)量 |
count_sentences | 計(jì)算變量里句子的數(shù)量 |
count_words | 計(jì)算變量里的詞數(shù) |
date_format | 日期格式化,第一個(gè)參數(shù)控制日期格式,如果傳給date_format 的數(shù)據(jù)是空的,將使用第二個(gè)參數(shù)作為默認(rèn)時(shí)間 |
default | 為空變量設(shè)置一個(gè)默認(rèn)值,當(dāng)變量為空或者未分配時(shí), 由給定的默認(rèn)值替代輸出 |
escape | 用于html轉(zhuǎn)碼、url轉(zhuǎn)碼,在沒有轉(zhuǎn)碼的變量上轉(zhuǎn)換單引號、 十六進(jìn)制轉(zhuǎn)碼、十六進(jìn)制美化,或者JavaScript轉(zhuǎn)碼。 默認(rèn)是html轉(zhuǎn)碼 |
indent | 在每行縮進(jìn)字符串,第一個(gè)參數(shù)指定縮進(jìn)多少個(gè)字符, 默認(rèn)是四個(gè)字符;第二個(gè)參數(shù),指定縮進(jìn)用什么字符代替 |
lower | 將變量字符串小寫 |
nl2br | 所有的換行符將被替換成<br/>.功能同PHP中的nl2br()函數(shù)一樣 |
regex_replace | 尋找和替換正則表達(dá)式,必須有兩個(gè)參數(shù),參數(shù)1是替 換正則表達(dá)式,參數(shù)2使用什么文本字串來替換 |
replace | 簡單的搜索和替換字符串,必須有兩個(gè)參數(shù),參數(shù)1是 將被替換的字符串,參數(shù)2是用來替換的文本 |
spacify | 在字符串的每個(gè)字符之間插入空格或者其他的字符串., 參數(shù)表示將在兩個(gè)字符之間插入的字符串,默認(rèn)為一個(gè)空格 |
string_format | 是一種格式化浮點(diǎn)數(shù)的方法,例如十進(jìn)制數(shù),使用sprintf 語法格式化。參數(shù)是必須的,規(guī)定使用的格式化方式。%d 表示顯示整數(shù),%.2f表示截取兩個(gè)浮點(diǎn)數(shù) |
strip | 替換所有重復(fù)的空格,換行和tab為單個(gè)或者指定的字符串。 如果有參數(shù)則是指定的字符串 |
strip_tags | 去除所有html標(biāo)簽 |
truncate | 從字符串開始處截取某長度的字符,默認(rèn)是80個(gè) |
upper | 將變量改為大寫 |
php代碼示例如下:
capitalize(首字母大寫):
<{$a|capitalize}>
count_characters(字符計(jì)數(shù)):
<{$b|count_characters}>
cat(連接字符串):
<{$c|cat:world}>
count_paragraphs(計(jì)算段數(shù))----(換行符\n):
<{$d|count_paragraphs}>
count_sentences(計(jì)算句數(shù)):
<{$e|count_sentences}>
count_words(計(jì)算詞數(shù)):
<{$f|count_words}>
date_format(格式化日期):
<{$smarty.now|date_format:"%y-%m-%d %H:%I:%S"}>
default(默認(rèn)值):
<{$biaoti|default:"no biaoti"}>
escape(編碼):
<{$dz|escape}>
indent(首行縮進(jìn)):
<{$in|indent}> <{$in|indent:1:"\t"}>
nl2br換行符替換成:
<{$con|nl2br}>
regex_replace 正則替換
<{$h|regex_replace:"/[\r\t\n]/":" <br/> "}>
replace(替換)
<{$h|replace:"hello":"你好"}>
提醒:
往往開發(fā)中有時(shí)候是滿足不了需求的,那就可以直接寫這些變量調(diào)節(jié)器,其實(shí)所謂的變量調(diào)節(jié)器就是一個(gè)函數(shù),在這里我們自己建一個(gè),首先在plugins文件夾里面間建立一個(gè)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)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。