ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 过滤器(Filters) 输出变量的时候可以通过为变量添加过滤器来过滤/格式化变量 操作符 | 用于为变量添加过滤器 ~~~ {{ product.name|e }} {{ product.name|striptags }} {{ product.name|capitalize|trim }} ~~~ 以下是Volt模板内置的过滤器列表: | 过滤器 | 描述 | | :-: | :-: | | trim | 删除左右两侧多余的字符 | | left\_trim | 删除左侧多余的字符 | | right\_trim | 删除右侧多余的字符 | | striptags | 删除变量中的html标记 | | slashes | 在字符串中的单引号(')、双引号(")、反斜线(\\)与 NUL字符前加上反斜线 | | stripslashes | 去除字符串中的转义反斜线 | | capitalize | 将字符串中每个单词的首字母转换为大写 | | lower | 将变量中的字符转换为小写 | | upper | 将变量中的字符转换为大写 | | length | 计算字符长度或数组与对象的数量 | | nl2br | 在字符串所有新行之前插入 HTML 换行标记 | | sort | 对数组进行排序并保持索引关系 | | keys | 返回数组的所有键值 | | join | 将一个数组分割为字符串 | | format | 把格式化的字符串写入变量中(sprintf) | | json\_encode | 对变量进行 JSON 编码 | | json\_decode | 对 JSON 格式的字符串进行解码 | | abs | 取绝对值 | | url\_encode | 编码 URL 字符串 | | default | 为变量设置一个默认值(如果变量为空或未设置) | | convert\_encoding | 转换字符编码 | `trim` 输入: ~~~ {# 默认不传参数为删除左右两侧的空格 #} {% set name=' 小明 ' %} {{ name|trim }} {# 传参数则为删除左右两侧参数中的字符串 #} {% set name='aaa小明aaa' %} {{ name|trim('aaa') }} ~~~ 输出: ~~~ 小明 小明 ~~~ `left_trim` 输入: ~~~ {% set name=' 小明 ' %} {{ name|left_trim }} ~~~ 输出: ~~~ 小明 ~~~ `right_trim` 输入: ~~~ {% set name=' 小明 ' %} {{ name|right_trim }} ~~~ 输出: ~~~  小明 ~~~ `striptags` 输入: ~~~ {% set name='小明' %} {{ name|striptags }} ~~~ 输出: ~~~ 小明 ~~~ `slashes` 输入: ~~~ {% set name='"小明"' %} {{ name|slashes }} ~~~ 输出: ~~~ \"小明\" ~~~ `capitalize` 输入: ~~~ {% set name='my name' %} {{ name|capitalize }} ~~~ 输出: ~~~ My Name ~~~ `lower` 输入: ~~~ {% set name='MY Name' %} {{ name|lower }} ~~~ 输出: ~~~ my name ~~~ `upper` 输入: ~~~ {% set name='my name 你好' %} {{ name|upper }} ~~~ 输出: ~~~ MY NAME 你好 ~~~ `length` 输入: ~~~ {% set data=['小明','小红','小强'] %} {{ data|length }} {% set data='小强' %} {{ data|length }} {% set data='abcd' %} {{ data|length }} ~~~ 输出: ~~~ 3 2 4 ~~~ `nl2br` 输入: ~~~ {% set name='a b c' %} {{ name|nl2br }} ~~~ 输出: ~~~ a b c ~~~ `sort` 输入: ~~~ {% set data=['a':3,'b':1,'c':2] %} {% set data=data|sort %} {{ dump(data) }} ~~~ 输出: ~~~ array(3) { ["b"]=> int(1) ["c"]=> int(2) ["a"]=> int(3) } ~~~ `keys` 输入: ~~~ {% set data=['a':3,'b':1,'c':2] %} {% set data=data|keys %} {{ dump(data) }} ~~~ 输出: ~~~ array(3) { [0]=> string(1) "a" [1]=> string(1) "b" [2]=> string(1) "c" } ~~~ `join` 输入: ~~~ {% set data=['a':3,'b':1,'c':2] %} {{ data|join(",") }} ~~~ 输出: ~~~ 3,1,2 ~~~ `format` 输入: ~~~ {% set myname='xiaoming' %} {{ "My real name is %s"|format(myname) }} ~~~ 输出: ~~~ My real name is xiaoming ~~~ `json_encode` 用法示例: ~~~ {% set encoded = data|json_encode %} ~~~ `json_decode` 用法示例: ~~~ {% set decoded = '{"one":1,"two":2,"three":3}'|json_decode %} ~~~ `abs` 用法示例: 输入: ~~~ {% set a = 2 %} {{ a|abs }} {% set a = -3 %} {{ a|abs }} ~~~ 输出: ~~~ 2 3 ~~~ `url_encode` 用法示例: 输入: ~~~ {% set url = 'http://www.baidu.com' %} {{ url|url_encode }} ~~~ 输出: ~~~ http%3A%2F%2Fwww.baidu.com ~~~ `default` 用法示例: 输入: ~~~ {% set name = '小红' %} {{ name|default('小明') }} {% set name = '' %} {{ name|default('小明') }} ~~~ 输出: ~~~ 小红 小明 ~~~ `convert_encoding` 用法示例: ~~~ {# 从EUC-JP编码转换为UTF-7 #} {{ "abasds"|convert_encoding("UTF-7", "EUC-JP") }} ~~~