Smarty模板變量調(diào)節(jié)器用法分析
本文講述了Smarty模板變量調(diào)節(jié)器用法。分享給大家供大家參考,具體如下:
在smarty里面,怎么修飾文本和變量呢?當(dāng)然,你可以通過(guò)php函數(shù)處理文本,然后再通過(guò)assign()方法分配到模板,其實(shí)smarty提供了變量調(diào)節(jié)器能夠很容易的處理文本,語(yǔ)法方式如下:
{$var|modifier1|modifier2|modifier3|…}
說(shuō)明:1.不管應(yīng)用了多少個(gè)函數(shù),都應(yīng)該以|來(lái)進(jìn)行分離.
說(shuō)明:2.參數(shù)用":"分開(kāi),如:
{$str|truncate:40:"..."} //截取字符串長(zhǎng)度為40,并以...結(jié)尾。
Smarty模板中常用的變量調(diào)解函數(shù)
成員方法名 |
描 述 |
capitalize |
將變量里的所有單詞首字母大寫(xiě),參數(shù)值boolean型決定 帶數(shù)字的單詞是否首字大寫(xiě),默認(rèn)不大寫(xiě) |
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)碼,在沒(méi)有轉(zhuǎn)碼的變量上轉(zhuǎn)換單引號(hào)、 十六進(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 |
將變量字符串小寫(xiě) |
nl2br |
所有的換行符將被替換成<br/>.功能同PHP中的nl2br()函數(shù)一樣 |
regex_replace |
尋找和替換正則表達(dá)式,必須有兩個(gè)參數(shù),參數(shù)1是替 換正則表達(dá)式,參數(shù)2使用什么文本字串來(lái)替換 |
replace |
簡(jiǎn)單的搜索和替換字符串,必須有兩個(gè)參數(shù),參數(shù)1是 將被替換的字符串,參數(shù)2是用來(lái)替換的文本 |
spacify |
在字符串的每個(gè)字符之間插入空格或者其他的字符串., 參數(shù)表示將在兩個(gè)字符之間插入的字符串,默認(rèn)為一個(gè)空格 |
string_format |
是一種格式化浮點(diǎn)數(shù)的方法,例如十進(jìn)制數(shù),使用sprintf 語(yǔ)法格式化。參數(shù)是必須的,規(guī)定使用的格式化方式。%d 表示顯示整數(shù),%.2f表示截取兩個(gè)浮點(diǎn)數(shù) |
strip |
替換所有重復(fù)的空格,換行和tab為單個(gè)或者指定的字符串。 如果有參數(shù)則是指定的字符串 |
strip_tags |
去除所有html標(biāo)簽 |
truncate |
從字符串開(kāi)始處截取某長(zhǎng)度的字符,默認(rèn)是80個(gè) |
upper |
將變量改為大寫(xiě) |
php代碼示例如下:
capitalize(首字母大寫(xiě)):
<{$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":"你好"}>
提醒:
往往開(kāi)發(fā)中有時(shí)候是滿足不了需求的,那就可以直接寫(xiě)這些變量調(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相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《smarty模板入門(mén)基礎(chǔ)教程》、《PHP模板技術(shù)總結(jié)》、《PHP基于pdo操作數(shù)據(jù)庫(kù)技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家基于smarty模板的PHP程序設(shè)計(jì)有所幫助。
- smarty模板中使用get、post、request、cookies、session變量的方法
- smarty簡(jiǎn)單模板變量輸出方法
- PHP模板引擎Smarty中變量的使用方法示例
- PHP模板引擎Smarty之配置文件在模板變量中的使用方法示例
- smarty模板引擎中變量及變量修飾器用法實(shí)例
- PHP模板引擎Smarty中的保留變量用法分析
- PHP模板引擎Smarty自定義變量調(diào)解器用法
- PHP模板引擎Smarty內(nèi)置變量調(diào)解器用法詳解
- Smarty變量調(diào)節(jié)器失效的解決辦法
- Smarty模板變量與調(diào)節(jié)器實(shí)例詳解
相關(guān)文章
PHP中通過(guò)trigger_error觸發(fā)PHP錯(cuò)誤示例
這篇文章主要介紹了PHP中通過(guò)trigger_error觸發(fā)PHP錯(cuò)誤示例,本文介紹了錯(cuò)誤抑制符@以及通過(guò) trigger_error 觸發(fā) PHP 錯(cuò)誤示例,需要的朋友可以參考下2015-06-06用php制作簡(jiǎn)單分頁(yè)(從數(shù)據(jù)庫(kù)讀取記錄)的方法詳解
本篇文章介紹了,使用php制作簡(jiǎn)單分頁(yè)(從數(shù)據(jù)庫(kù)讀取記錄)的方法詳解。需要的朋友參考下2013-05-05php使用phpoffice/phpspreadsheet拓展操作excel實(shí)例
這篇文章主要為大家介紹了php使用phpoffice/phpspreadsheet拓展操作excel實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Laravel Reponse響應(yīng)客戶端示例詳解
這篇文章主要給大家介紹了關(guān)于Laravel Reponse響應(yīng)客戶端的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09ThinkPHP通過(guò)AJAX返回JSON的兩種實(shí)現(xiàn)方法
這篇文章主要介紹了ThinkPHP通過(guò)AJAX返回JSON的兩種實(shí)現(xiàn)方法,分析了ThinkPHP中內(nèi)置的ajaxReturn函數(shù)的用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12PHP的openssl加密擴(kuò)展使用小結(jié)(推薦)
下面小編就為大家?guī)?lái)一篇PHP的openssl加密擴(kuò)展使用小結(jié)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-07