Symfony 在执行<;之前,如何使用Twig拆分模板中的HTML块;h2>;
给定变量中的以下代码:Symfony 在执行<;之前,如何使用Twig拆分模板中的HTML块;h2>;,symfony,twig,Symfony,Twig,给定变量中的以下代码: 英格里登特斯酒店 500克克索费塔 ½黑胡椒粉 罗萨达辣椒园1号 3拉马斯·佩克尼亚斯·德罗梅罗酒店 橄榄石 拉普雷帕西翁酒店 护墙板和墙纸上的棉布。阿塞格罗斯·比恩·科恩·帕佩尔(Asegúrate de secarlos bien-con el-papel)。意大利红辣椒和罗梅罗葡萄园的咖啡馆。莱娜·弗拉斯科·康奈尔·奥里瓦·库布里尔·托多斯·英格里登特斯。这是一场12小时的战斗。内华达州的一家银行在气温环境下提供服务 您的代码不起作用,因为拆分时: <
英格里登特斯酒店
- 500克克索费塔
- ½黑胡椒粉
- 罗萨达辣椒园1号
- 3拉马斯·佩克尼亚斯·德罗梅罗酒店
- 橄榄石
拉普雷帕西翁酒店
护墙板和墙纸上的棉布。阿塞格罗斯·比恩·科恩·帕佩尔(Asegúrate de secarlos bien-con el-papel)。意大利红辣椒和罗梅罗葡萄园的咖啡馆。莱娜·弗拉斯科·康奈尔·奥里瓦·库布里尔·托多斯·英格里登特斯。这是一场12小时的战斗。内华达州的一家银行在气温环境下提供服务
您的代码不起作用,因为拆分时:
<h2>Los ingredientes</h2>
<ul>
<li>500 g de queso feta</li>
<li>½ cucharadita de pimienta negra</li>
<li>1 cucharadita de pimienta rosada</li>
<li>3 ramas pequeñas de romero</li>
<li>aceite de oliva </li>
</ul>
<h2>La preparación</h2>
<p>Corta el queso feta en dados y déjalos reposar sobre papel absorbente.</p>
length
过滤器为空字符串返回0
,由于0
的计算结果为false
,因此跳过空数组项
最好也使用trim
过滤器,以避免生成除空白以外没有其他内容的div
s:
{% for block in contentBlock|split('<h2>') if block|trim|length %}
{contentBlock | split('')中的块的%if block | trim | length%}
当您还添加缺少的起始标签时,您将得到以下代码:
<section class="preparation">
{% for block in contentBlock|split('<h2>') if block|trim|length %}
<div class="block">
<h2>{{ block }}
</div>
{% endfor %}
</section>
{contentBlock中的块的%|拆分('')如果块|修剪|长度%}
{{block}}
{%endfor%}
注意,我必须使用
raw
过滤器来输出未扫描的HTML代码。您可能不需要在代码中这样做。Los Ingredites和preparacion是唯一的标题(在h2下)?我的意思是你没有渲染更多的h2?这一个非常受控制,最多有3个项目@martias解决方案完美地为某些情况设置了条件。请看几个示例:,这非常有效!非常感谢您提供的解决方案和透彻的解释,我对这个问题非常感兴趣@martias@ganar很乐意帮忙!您可以将此答案标记为解决方案。
{% for block in contentBlock|split('<h2>') if block|trim|length %}
<section class="preparation">
{% for block in contentBlock|split('<h2>') if block|trim|length %}
<div class="block">
<h2>{{ block }}
</div>
{% endfor %}
</section>