symfony中twig的模板过滤器

过滤器

变量可以被过滤器修饰。过滤器和变量用(|)分割开。过滤器也是可以有参数的。过滤器也可以被多重使用。

通用过滤器

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’}) %}
时间: 2024-08-01 16:02:51

symfony中twig的模板过滤器的相关文章

Django 模板过滤器列表(转)

Django 模板过滤器也是我们在以后基于 Django 网站开发过程中会经常遇到的,如显示格式的转换.判断处理等.以下是 Django 过滤器列表,希望对为大家的开发带来一些方便. 一.形式:小写 {{ name | lower }} 二.串联:先转义文本到HTML,再转换每行到 标签 {{ my_text|escape|linebreaks }} 三.过滤器的参数 显示前30个字 {{ bio | truncatewords:"30" }} 格式化 {{ pub_date | da

django 第五课自定义模板过滤器与标签

代码布局:(自定义的代码放在哪里) 某个app特有的 app目录下,templatetags文件夹需要放 __init__.py 在到templetags文件夹下创建python模块(py文件) 定义复用 创建要给新的app,将他们定义在新的app中,在INSTALL_APPS 注册,然后可以应用 自定义模板过滤器 模板过滤器是什么? 函数,一个或两个参数 第一个参数是传递进来的模板变量 第二个参数,普通的参数,也可以是默认也可以不要其实就是个函数,没有什么不同在app目录teacher下创建t

三、模板变量及模板过滤器

三.模板变量及模板过滤器 1.模板路径总结 1.1新建一个新的app python manage.py startapp student 1.2 配置app下的templates文件夹 INSTALLED_APPS = [   'django.contrib.admin',   'django.contrib.auth',   'django.contrib.contenttypes',   'django.contrib.sessions',   'django.contrib.message

django模板&amp;过滤器

django模板&过滤器 声明:部分信息来源这篇博客https://www.cnblogs.com/maple-shaw/articles/9333821.html MVC: 模型(model)-------->模型 视图(view)----->html 控制器(controller)--------->业务逻辑 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Te

10_jinja2模板过滤器

目录 Jinja2模板过滤器 常用过滤器 列表操作 Jinja2模板过滤器 常用过滤器 default: 有则使用传的,没则使用默认值 使用方式: {{ value|default('默认值') }}, 如果value这个key不存在,则会使用default过滤器提供的默认值.如果你想使用类似于python中判断一个值是否为False (例如:None, 空字符串,空列表,空字典等), 那么就必须要传递另外一个参数{{ value|default('默认值', boolean=True) }},

ansible中角色和模板使用及部署lamp平台

一.roles ansilbe自1.2版本引入的新特性,用于层次性.结构化地组织playbook.roles能够根据层次型结构自动装载变量文件.tasks以及handlers等.要使用roles只需要在playbook中使用include指令即可.简单来讲,roles就是通过分别将变量.文件.任务.模块及处理器放置于单独的目录中,并可以便捷地include它们的一种机制.角色一般用于基于主机构建服务的场景中,但也可以是用于构建守护进程等场景中. 一个roles的案例如下所示:        si

Struts2中使用Velocity模板时模板资源路径配置问题

在Struts2中使用Velocity模板时,如何以相对与Web工程的路径来配置模板资源文件路径这个问题网上千篇一律的来自Velocity官方文档.官方文档中指出如果是Web工程的话,模板的相对路径是工程根路径,今天在使用的时候有如下配置: Velocity.properties(默认在WEB-INF下): resource.loader =file, classclass.resource.loader.description = Velocity Classpath Resource Loa

MyEclipse中修改servlet模板

1.在MyEclipse目录下搜索com.genuitec.eclipse.wizards,得到搜索结果 com.genuitec.eclipse.wizards_8.4.100.me200912131330.jar(我的位置是:C:\Users\Administrator\AppData\Local\Genuitec\Common\plugins): 2.备份,复制粘贴一份,完全关闭MyEclipse: 3.使用winrar打开com.genuitec.eclipse.wizards_8.4.

ArcGIS API for Silverlight代码中使用Template模板

原文:ArcGIS API for Silverlight代码中使用Template模板 在项目开发中,会遇到点选中聚焦闪烁效果,但是因为在使用Symbol的时候,会设置一定的OffSetX和OffSetY,所以聚焦闪烁的时候,有些情况下,会出现闪烁点的位置和Symbol的位置不重叠现象,下面的方法就是解决这个问题的. 1.在Silverlight项目中新建一个文件夹Template,新建一个DefaultMarkerSymbol.xaml的Silverlight资源字典文件,如下图: 2.打开