爲了更方便的實現 功能與顯示分離,一般會用 smarty 將功能代碼中的數據 assign 到頁面中,在頁面中合理使用 smarty 的修飾方法,會使頁面顯示更美觀!javascript
一個數據可同時使用多個修飾函數,經過管道符 「|」 分割,例: {$val|escape:"html"|replace:"\n":"<br/>"} php
$smarty.now 取得當前時間html
功能java |
修飾符 | 參數 | 備註 |
默認 | default正則表達式 |
:「xxx」(默認值) | |
時間格式化 | date_format | :」%Y-%m-%d」(時間格式) | %a、%A 星期;%b、%h、%B 月份;%c 日期時間;%C 世紀值;api %d、%e 月份中的第幾天;%D 和 %m/%d/%y 同樣;函數 %g、%G、%y、%Y 年份;%H、%I、%k、%l 小時;%j 年份中的第幾天;編碼 %m 月份;%M 分鐘;%p 上下午;%r 、%R 有上下午符號;%S 秒;url %T 當前時間;%u 星期;%U、%V、%W 本年的第幾周;spa %x 日期;%X 時間;%Z 時區名;%n 換行符;%% `%' 字符; |
數字格式化 | number_format |
:小數位數:小數分隔符:千分位分隔符(不設參數則爲默認值) | |
字符串格式化 | string_formate |
:「%.2f」 (字符串格式) | %.2f 兩位小數;%d 整數; |
截取字符串 | truncate |
:開始截取位置:截取後的替代字符串:true 按照單詞截取 | 例:($val|truncate:3:"...":true) |
替換全部重複空格,換行和製表符 | strip |
:「 」(替換成的字符) | 若是是空字符則必須也要寫成"",不能不帶參數 |
過濾字符串中標籤 | strip_tags |
||
將字符串中的\n 替換成<br/> |
nl2br |
||
字母轉成小寫 | lower |
||
字母轉成大寫 | upper |
||
單詞首字母大寫 | capitalize |
單詞加數字不會被識別 | |
計算字符數 | count_characters |
不包括空格和其餘特殊字符,UTF-8中一個字母字符佔3個長度 | |
鏈接字符串 | cat |
:「str」(鏈接的字符串) | 只能鏈接1個 |
計算段落數 | count_paragraphs |
回車或者\r\n的換行計算在內,<br>的不計算在內 | |
計算句子數 | count_sentences |
判斷字符串有幾個"."就爲幾個句子,"。"不包括在內,且點號後面要有一個空格纔算一個句子 | |
計算單詞數 | count_words |
字母,數字,或字母加數字的組合,在兩個空格之間算一個單詞 | |
編碼或轉義變量 | escape | :html:ISO-8859-1 | 參數一: 參數二: |
解碼entity, html 和 htmlall等的編碼 | unescape | 與escape 修飾器的效果恰好相反 |
|
縮進的字符 | indent | :縮進個數:縮進字符 | 例:{$str|indent:4:" "}表示縮進4個字符,字符用空格代替 |
字符替換 | replace | :"須要替換的":"替換的" | 區分大小寫 |
每一個字符之間插入空格或者其餘的字符 | spacify |
:「插入的字符」 | |
行寬約束 |
wordwrap | :行寬:識別字串:false 詞完整 | 參數一默認爲 80;參數二默認爲 \n;參數三默認爲 false,及約束到詞邊界 |
使用正則表達式搜索替換變量 |
regex_replace | :被替換的正則:使用該字串替換 | 例:{$articleTitle|regex_replace:"/[\r\t\n]/":" "} |
轉換變量到內置字符集 |
from_charset | :須要轉換的字符集名稱 | , 或者任何函數支持的字符集名稱。參數爲 ISO-8859-1UTF-8mb_convert_encoding() |
將變量轉換到指定字符集 |
to_charset | :轉換到的字符集類型 | 參數爲 |