阻止TWIG在变量

时间:2017-02-08 21:13:58

标签: twig

我有这个用例。

在整个页面中使用的跨度中的默认文本。 使用jQuery更改"占位符"到"具体案例"

是的,

在html里面我想这样做: (twig / html& js)

{% block content %}
{% set location = '<span id="location">Somewhere</span>' %}

<p>Hey, hows the weather in {{ location | raw }}?</p>


<script>
    var location = detectLocation();
    update $(#location).html('location');
<script>

所需的输出预脚本运行:

  嘿,在某处可以看到天气?

运行所需的输出后脚本(假设它输出Austrailia):

  嘿,澳大利亚的天气怎么样?

..但是由于枝条剥离空间我得到了什么:

  嘿,天哪在哪里?

1 个答案:

答案 0 :(得分:2)

这是我在仍然使用树枝1 *的旧代码库上从php7.0迁移到php7.4.3之后发生的。

如果您无法将twig更新到新版本,请使用以下解决方法。

编辑twig/twig/lib/Twig/Lexer.php,在第163行更改:

if (isset($this->positions[2][$this->position][0]) ) {
    $text = rtrim($text);
}

if (isset($this->positions[2][$this->position][0]) && ($this->options['whitespace_trim'] === $this->positions[2][$this->position][0])) {
   $text = rtrim($text);
}

更好的解决方法:更新您的Twig版本。