Smarty 变量修饰器

匿名 (未验证) 提交于 2019-12-02 23:03:14

为了更方便的实现 功能与显示分离,通常会用 smarty 将功能代码中的数据 assign 到页面中,在页面中合理使用 smarty 的修饰方法,会使页面显示更美观!

一个数据可同时使用多个修饰函数,通过管道符 “|” 分割例:{$val|escape:"html"|replace:"\n":"<br/>"}

$smarty.now 取得当前时间

功能

修饰符 参数 备注
默认

default

:“xxx”(默认值)
时间格式化 date_format :”%Y-%m-%d”(时间格式)

%d、%e 月份中的第几天;%D 和 %m/%d/%y 一样;

%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

参数一:htmlhtmlallurl,urlpathinfoquoteshexhexentity,javascriptmail;

参数二:ISO-8859-1UTF-8, and any character set supported byhtmlentities()

解码entity, html 和 htmlall等的编码 unescape

escape 修饰器的效果刚好相反

缩进的字符 indent :缩进个数:缩进字符

例:{$str|indent:4:"&nbsp;"}表示缩进4个字符,字符用空格代替

字符替换 replace :"需要替换的":"替换的"

区分大小写

每个字符之间插入空格或者其他的字符

spacify

:“插入的字符”

行宽约束

wordwrap :行宽:识别字串:false 词完整 参数一默认为 80;参数二默认为 \n;参数三默认为 false,及约束到词边界

使用正则表达式搜索替换变量

regex_replace :被替换的正则:使用该字串替换
例:{$articleTitle|regex_replace:"/[\r\t\n]/":" "}

转换变量到内置字符集

from_charset :需要转换的字符集名称
 

将变量转换到指定字符集

to_charset :转换到的字符集类型
 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!