zoukankan      html  css  js  c++  java
  • 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过滤器

    将字符串里的   替换成 <br/>

    {{ “I like Twig.
    You 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’}) %}

  • 相关阅读:
    JSP基础学习(二)
    JSP基础学习(一)
    Android 使用开源xUtils来实现多线程下载(非原创)
    Android 多线程断点下载(非原创)
    Android HttpClient框架get和post方式提交数据(非原创)
    Android ListView使用(非原创)
    ScrollView 的使用(非原创)
    Android SQLite API的使用(非原创)
    Android SQLite的使用2(非原创)
    位运算
  • 原文地址:https://www.cnblogs.com/phpxuetang/p/5669872.html
Copyright © 2011-2022 走看看