在变量中给出以下代码:
<section class="preparation">
<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. Asegúrate de secarlos bien con el papel. Coloca cuidadosamente los dados de queso feta en el frasco con los granos de pimienta y el romero. Llena el frasco con el aceite de oliva hasta cubrir todos los ingredientes. Pon el frasco en la nevera durante por lo menos 12 horas antes de servir. Saca el frasco de la nevera para servir los cubos de feta a temperatura ambiente.</p>
</section>
&#13;
如何在<h2>
之前拆分变量并在新块周围设置额外的div?
最终结果应该像这样呈现:
<section class="preparation">
<div class="block">
<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>
</div>
<div class="block">
<h2>La preparación</h2>
<p>Corta el queso feta en dados y déjalos reposar sobre papel absorbente. Asegúrate de secarlos bien con el papel. Coloca cuidadosamente los dados de queso feta en el frasco con los granos de pimienta y el romero. Llena el frasco con el aceite de oliva hasta cubrir todos los ingredientes. Pon el frasco en la nevera durante por lo menos 12 horas antes de servir. Saca el frasco de la nevera para servir los cubos de feta a temperatura ambiente.</p>
</div>
</section>
&#13;
我执行了以下TWIG
代码,但它删除了h2
并且没有正确完成html块。
<section class="preparation">
{% for contentblockitems in contentBlock|split('<h2>') %}
<div class="block">
{{ contentblockitems }}
</div>
{% endfor %}
</section>
&#13;
答案 0 :(得分:1)
您的代码不起作用,因为当您拆分时:
<h2>
使用{{ dump(contentBlock|split('<h2>')) }}
{# Prints this:
array(3) {
[0]=>
string(0) ""
[1]=>
string(266) "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>
"
[2]=>
string(103) "La preparación</h2>
<p>Corta el queso feta en dados y déjalos reposar sobre papel absorbente.</p>"
}
#}
作为分隔符,最终得到这个数组:
for
如您所见,第一个数组项是一个空字符串,因此<div class="block"></div>
循环产生一个空<h2>
。此外,其余的数组项目缺少起始for
标记(就像您所说的那样),并且您没有在div
循环中考虑到这一点。
为避免产生空{% for block in contentBlock|split('<h2>') if block|length %}
,您可以通过添加条件(see the documentation of for
loops in Twig)来跳过空字符串的数组项:
length
0
过滤器为空字符串返回0
,并且由于false
的计算结果为trim
,因此会跳过空数组项。
最好还使用div
过滤器来避免生成{% for block in contentBlock|split('<h2>') if block|trim|length %}
s而不包含空格以外的内容:
<h2>
当您还添加缺少的起始<section class="preparation">
{% for block in contentBlock|split('<h2>') if block|trim|length %}
<div class="block">
<h2>{{ block }}
</div>
{% endfor %}
</section>
标记时,您最终会得到以下代码:
raw
See TwigFiddle.请注意,我必须使用filelist = glob.glob('Filepath/*.png')
x = np.array([np.array(Image.open(fname)) for fname in filelist])
print(x.shape)
np.savetxt('csvfile.csv', x,fmt='%s')
过滤器来输出未转义的HTML代码。您可能不需要在代码中执行此操作。