为了更方便的实现 功能与显示分离,一般会用 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 | :转换到的字符集类型 | 参数为 |