变量能够被过滤器修饰。过滤器和变量用(|)分割开。过滤器也是能够有参数的。过滤器也能够被多重使用。php
1.1版本新增时区支持,1.5版本增长了默认的日期格式。
格式化时间,这个过滤器和php的date函数无限相似,可处理与 strtotime 兼容的字符串,或 DateTime/DateInterval 的实例,可选的第二个参数用于指定时区,若是所修饰的数据为空则默认为当前时间css
{{ article.publishedTime|date(‘Y-m-d H:i:s’) }}
输出: 2014-7-12 12:11:11html
和php的printf函数同样,用来替换占位符json
<span class=”days”> {{ “%02d”|format(countdown.days) }} </span>天
输出: 12天api
{{ “教师可在直播开始前%hour%小时内进入直播教室,以准备相关教学资料.” |replace({‘%hour%’: hour}) }}
输出: 教师可在直播开始前1小时内进入直播教室,以准备相关教学资料.数组
他是php函数 number_format的一个包装 直接见函数参考php函数 number_format吧安全
<span class=”rating-num”> {{ course.rating|number_format(1) }}分 </span>
输出: 5分函数
编码连接字符串,等同于php函数urlencode编码
{{ data|url_encode() }}
编码JSON格式,等同于php函数json_encodeurl
{{ data|json_encode() }}
编码转换,第一个参数指定转换后的编码,第二个参数指定转换前的编码,本函数依赖于iconv 或者mbstring 因此至少须要安装一个
{{ data|convert_encoding(‘UTF-8’, ‘iso-2022-jp’) }}
将字符串中每一个单词的首字母大写,等同于 ucwords
{{ ‘my first car’|title }}
输出: My First Car
将字符串的首字母大写,其他字母小写的格式,等同于 ucfirst
{{ ‘my first car’|capitalize }}
输出: My first car
将字符串里的 \n 替换成 <br/>
{{ “I like Twig.\nYou will like it too.”|nl2br }}
输出:
I like Twig. <br />
You will like it too.
将数组的各个元素按指定分隔符组成字符串
{{ [1, 2, 3]|join }}
输出: 123
{{ [1, 2, 3]|join(‘|’) }}
输出: 1|2|3
反转一个数组,或者是一个实现了Iterator接口的对象,在 array_reverse 的基础上增长了对字符串的处理
{% for use in users|reverse %} … {% endfor %}
返回一个数组或者字符串的长度,等同于 count 和 strlen 的结合体
{% if users|length > 10 %} … {% endif %}
对数组排序
{% for use in users|sort %} … {% endfor %}
将数组的所有键名提取成一个数组,等同于 array_keys
{% for key in array|keys %} … {% endfor %}
将字符串安全地处理成合法的指定数据,支持多种转换模式,默认模式为 html,其余可选模式有 html_attr、js、css、url,主要转义 & < > ‘ ” 。而且它有个简写方式 e。
{{ user.username|escape }} {{ user.username|e }}
用于在autoescape标签内部,标记出不须要转义的内容。
<div class=”thread-body”> {{article.body |raw }} </div>
用来合并数组,近似于 array_merge 。如 {{ 数组1|merge(数组2) }}
{% set items = { ‘id’:course.id} %} {% set items = items|merge({type:’all’}) %}