You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Twig中实现地址与邮编城市变量间换行?

解决Twig模板地址换行输出的问题

要实现你需要的两行地址格式,核心是处理HTML中的换行逻辑,结合你的变量,这里有两种可行方案:

方案1:使用<pre>标签保留原生换行

既然你期望的输出是在<pre>标签内,直接拼接换行符\n即可,因为<pre>会保留文本的格式:

<pre class="lang-php prettyprint-override">
{{ user.address ~ "\n" ~ user.zipcode ~ ' ' ~ user.city }}
</pre>

注意:如果变量中包含HTML特殊字符(比如<、>),可以给变量加上|e过滤器转义,避免破坏页面结构。

方案2:用<br>标签实现普通HTML换行

如果不需要<pre>标签,想在普通页面中实现换行,直接插入<br>标签即可:

{{ user.address }}<br>
{{ user.zipcode }} {{ user.city }}

或者用拼接方式(需要给<br>加上|raw过滤器防止被转义):

{{ user.address ~ '<br>'|raw ~ user.zipcode ~ ' ' ~ user.city }}

你之前代码的问题

  1. 变量名不匹配:你提到的是user.address等变量,但代码里用的是company.address,这会导致变量无法正确取值;
  2. nl2br的使用场景错误:nl2br是将文本中的\n转换为<br>,但你是在拼接时加的\n,且套在zipcode过滤器里,逻辑不对;
  3. 若没有<pre>标签,普通HTML会忽略\n,必须用<br>才能显示换行。

内容的提问来源于stack exchange,提问作者michouël

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 05:40:41