Smarty模板變量調(diào)節(jié)器用法分析
本文講述了Smarty模板變量調(diào)節(jié)器用法。分享給大家供大家參考,具體如下:
在smarty里面,怎么修飾文本和變量呢?當然,你可以通過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è)置一個默認值,當變量為空或者未分配時, 由給定的默認值替代輸出 |
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 |
替換所有重復的空格,換行和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相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《smarty模板入門基礎(chǔ)教程》、《PHP模板技術(shù)總結(jié)》、《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《PHP運算與運算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于smarty模板的PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP中通過trigger_error觸發(fā)PHP錯誤示例
這篇文章主要介紹了PHP中通過trigger_error觸發(fā)PHP錯誤示例,本文介紹了錯誤抑制符@以及通過 trigger_error 觸發(fā) PHP 錯誤示例,需要的朋友可以參考下2015-06-06用php制作簡單分頁(從數(shù)據(jù)庫讀取記錄)的方法詳解
本篇文章介紹了,使用php制作簡單分頁(從數(shù)據(jù)庫讀取記錄)的方法詳解。需要的朋友參考下2013-05-05php使用phpoffice/phpspreadsheet拓展操作excel實例
這篇文章主要為大家介紹了php使用phpoffice/phpspreadsheet拓展操作excel實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11Laravel Reponse響應(yīng)客戶端示例詳解
這篇文章主要給大家介紹了關(guān)于Laravel Reponse響應(yīng)客戶端的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09ThinkPHP通過AJAX返回JSON的兩種實現(xiàn)方法
這篇文章主要介紹了ThinkPHP通過AJAX返回JSON的兩種實現(xiàn)方法,分析了ThinkPHP中內(nèi)置的ajaxReturn函數(shù)的用法,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12