변수에 다음 코드가 주어집니다.
<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>
어떻게 전에 변수를 분할 <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>
다음 TWIG
코드를 수행했지만 h2
html 블록을 제거하고 제대로 완료하지 않습니다.
<section class="preparation">
{% for contentblockitems in contentBlock|split('<h2>') %}
<div class="block">
{{ contentblockitems }}
</div>
{% endfor %}
</section>
이것을 분할하면 코드가 작동하지 않습니다.
<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>
<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
조건을 추가하여 빈 문자열 인 배열 항목을 건너 뛸 수 있습니다 ( Twig 의 for
루프 설명서 참조 ).
{% for block in contentBlock|split('<h2>') if block|length %}
length
필터 반환 0
빈 문자열, 그리고 이후 0
평가하여하기 false
, 빈 배열 항목은 건너 뜁니다.
공백 이외의 내용이없는 s trim
생성을 방지하기 위해 필터를 사용하는 것이 더 좋습니다 div
.
{% for block in contentBlock|split('<h2>') if block|trim|length %}
누락 된 시작 <h2>
태그 도 추가하면 다음 코드가 생성됩니다.
<section class="preparation">
{% for block in contentBlock|split('<h2>') if block|trim|length %}
<div class="block">
<h2>{{ block }}
</div>
{% endfor %}
</section>
TwigFiddle을 참조하십시오. raw
이스케이프되지 않은 HTML 코드를 출력 하려면 필터를 사용해야했습니다 . 코드에서 그렇게 할 필요가 없을 것입니다.
Эта статья взята из Интернета, укажите источник при перепечатке.
Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.
я говорю два предложения