【发布时间】:2017-10-03 07:18:39
【问题描述】:
从表单的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 %}
确实如此。它有什么问题?它怎么可能起作用?
【问题讨论】:
-
你能给我一个例子(只是一个很好的例子)你的
block变量是什么样的,然后我应该有一个解决方案。 -
DarkBee 的回答很好地描述了用哈希(数组)替换过滤器的用法。 @alvin-bunk 第二点确实是变量“块”。它是一个渲染数组(我没有想到)。所以替换不适用于它。当我做 {% set output %} {{ block }} {% endset %} {{ output | replace(replaces) }} 然后 html 字符被转义,例如
-
好像找到了,输出为 {% autoescape false %} ... {% endautoescape %}
标签: variables drupal replace twig