【发布时间】:2012-05-07 19:24:45
【问题描述】:
我想使用 TWIG 用 PHP 变量中的值填充 JavaScript 数组。
<script type="text/javascript">
var cont=new Array();
{% for key, post in posts %}
cont[{{ key }}] = "{{ post.content }}";
{% endfor %}
</script>
问题是我有post变量有几行,所以上面的代码把JS命令分成几行,翻译成几个命令,我有一个错误。
所以我认为我需要将所有“新行”替换为“\n”。
我试着这样做:
cont[{{ key }}] = "{{ post.content | replace({"\n":"<br>"}) }}";
但这无济于事。它仍然保持在几行......
【问题讨论】:
-
唯一正确的方法是:
{{ post.content | replace({ '\r\n': '\\r\\n', '\n': '\\n', '\r': '\\r' }) }} -
您现在还可以使用反引号(模板文字)将带有换行符的代码放入 JavaScript 字符串中。