symfony中twig的模板过滤器
2016-07-14 11:37
267 查看
过滤器
变量可以被过滤器修饰。过滤器和变量用(|)分割开。过滤器也是可以有参数的。过滤器也可以被多重使用。通用过滤器
date过滤器
1.1版本新增时区支持,1.5版本增加了默认的日期格式。格式化时间,这个过滤器和php的date函数无限类似,可处理与 strtotime 兼容的字符串,或 DateTime/DateInterval 的实例,可选的第二个参数用于指定时区,如果所修饰的数据为空则默认为当前时间
{{ article.publishedTime|date(‘Y-m-d H:i:s’) }}
输出: 2014-7-12 12:11:11
format过滤器
和php的printf函数一样,用来替换占位符<span class=”days”> {{ “%02d”|format(countdown.days) }} </span>天
输出: 12天
replace过滤器
{{ “教师可在直播开始前%hour%小时内进入直播教室,以准备相关教学资料.” |replace({‘%hour%’: hour}) }}
输出: 教师可在直播开始前1小时内进入直播教室,以准备相关教学资料.
number_format过滤器
他是php函数 number_format的一个包装 直接见函数参考php函数 number_format吧<span class=”rating-num”> {{ course.rating|number_format(1) }}分 </span>
输出: 5分
url_encode过滤器
编码链接字符串,等同于php函数urlencode{{ data|url_encode() }}
json_encode过滤器
编码JSON格式,等同于php函数json_encode{{ data|json_encode() }}
convert_encoding过滤器
编码转换,第一个参数指定转换后的编码,第二个参数指定转换前的编码,本函数依赖于iconv 或者mbstring 所以至少需要安装一个{{ data|convert_encoding(‘UTF-8’, ‘iso-2022-jp’) }}
title过滤器
将字符串中每个单词的首字母大写,等同于 ucwords{{ ‘my first car’|title }}
输出: My First Car
capitalize过滤器
将字符串的首字母大写,其余字母小写的格式,等同于 ucfirst{{ ‘my first car’|capitalize }}
输出: My first car
nl2br过滤器
将字符串里的 \n 替换成 <br/>{{ “I like Twig.\nYou will like it too.”|nl2br }}
输出:
I like Twig. <br />
You will like it too.
join过滤器
将数组的各个元素按指定分隔符组成字符串{{ [1, 2, 3]|join }}
输出: 123
{{ [1, 2, 3]|join(‘|’) }}
输出: 1|2|3
reverse 过滤器
反转一个数组,或者是一个实现了Iterator接口的对象,在 array_reverse 的基础上增加了对字符串的处理{% for use in users|reverse %} … {% endfor %}
length过滤器
返回一个数组或者字符串的长度,等同于 count 和 strlen 的结合体{% if users|length > 10 %} … {% endif %}
sort过滤器
对数组排序{% for use in users|sort %} … {% endfor %}
keys过滤器
将数组的全部键名提取成一个数组,等同于 array_keys{% for key in array|keys %} … {% endfor %}
escape过滤器
将字符串安全地处理成合法的指定数据,支持多种转换模式,默认模式为 html,其他可选模式有 html_attr、js、css、url,主要转义 & < > ‘ ” 。并且它有个简写方式 e。{{ user.username|escape }} {{ user.username|e }}
raw过滤器
用于在autoescape标签内部,标记出不需要转义的内容。<div class=”thread-body”> {{article.body |raw }} </div>
merge过滤器
用来合并数组,近似于 array_merge 。如 {{ 数组1|merge(数组2) }}{% set items = { ‘id’:course.id} %} {% set items = items|merge({type:’all’}) %}
[/code]
相关文章推荐
- 把安卓手机屏幕投射到电脑上
- java https信任所有证书
- 因为数据库正在使用,所以无法获得对数据库的独占访问权---还原或删除数据库的解决方法
- JavaWeb学习总结(二)——Tomcat服务器学习和使用(一)
- Android BlueDroid(一):BlueDroid概述
- Maven之settings.xml配置详解
- Android 最火的快速开发框架XUtils
- 手动管理事务
- C#中BASE64和图片相互转换
- mybatis 3.x 缓存介绍
- Yii视图操作之自定义分页实现方法
- Adobe Reader显示某些文档字体虚化无法看清的解决方法
- Android 控制wifi 相关操作实例
- java.lang.IllegalStateException: The specified child already has a parent 错误处理
- centos7 systemd in Fedora 22: Failed to restart service: Access Denied
- 全面解析PHP操作Memcache基本函数
- Can't adjust the time of day: Invalid argument
- lua之诡异的tonumber
- httpclient 发送get请求 。
- UEditor 之查询当前编辑区域的状态是源码模式还是可视化模式