溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Smarty模板變量調(diào)節(jié)器

發(fā)布時(shí)間:2021-04-02 16:27:58 來源:億速云 閱讀:166 作者:Leah 欄目:開發(fā)技術(shù)

如何使用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)知識。

向AI問一下細(xì)節(jié)

免責(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)容。

AI