从表格
的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 %}
一样。这有什么问题?怎么会有用?
答案 0 :(得分:5)
要么传递整个数组,要么循环替换。
但是当循环替换时,你需要在括号中包裹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 }}