[英]How to use variables in Twig filter 'replace'
从形式的PHP移交数组
$repl_arr = array('serach-string1' => 'replace1', ...)
到Twig模板,我想通过类似于以下内容的替换过滤器替换Twig变量中的字符串:
{{ block | replace({ repl_arr }) }}
那不起作用,也不像
{% for key,item in repla_arr %}
{% set var = block | replace({ key : item }) %}
{% endfor %}
做。 怎么了 如何运作?
您要么传递整个数组,要么循环替换。
但是在循环替换时,您需要将key
和value
包装在括号中以强制插入
{% set replaces = {
'{site}' : '{stackoverflow}',
'{date}' : "NOW"|date('d-m-Y'),
} %}
{% set haystack = '{site} foobar {site} {date} bar' %}
{{ haystack | replace(replaces) }}
{% set output = haystack %}
{% for key, value in replaces %}
{% set output = output|replace({(key) : (value),}) %}
{% endfor %}
{{ output }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.