Twig를 사용하여 <h2> 전에 템플릿에서 HTML 블록을 분할하는 방법

승리

변수에 다음 코드가 주어집니다.

<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코드를 수행했지만 h2html 블록을 제거하고 제대로 완료하지 않습니다.

<section class="preparation">
    {% for contentblockitems in contentBlock|split('<h2>') %}
       <div class="block">
            {{ contentblockitems }}
       </div>
    {% endfor %}
</section>

mts knn

이것을 분할하면 코드가 작동하지 않습니다.

<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] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

WebSphere Liberty에서 JPA와 함께 H2 데이터베이스를 사용하는 방법

사용자가 python 스크립트를 사용하여 입력 할 수 있도록 python 스크립트를 HTML 사이트에 구현하는 방법

JS / jQUery regex를 사용하여 문자열에서 일치하지 않는 부분을 제거하는 방법

Java 프로젝트에서 클래스 파일에 대한 템플릿을 구성하는 방법

Как использовать Twig для разделения блока HTML в шаблоне перед <h2>

Intellij Idea에서 Maven을 사용하여 전쟁을 구축하는 방법

with 문을 사용하여 관계형 테이블에 필터를 적용하는 방법

Gitpython을 사용하여 Git의 특정 분기에서 복제하는 방법

각도 프로젝트 템플릿을 사용하여 asp.net 코어에 대한 기본 사용자 지정 경로를 설정하는 방법이 있습니까?

로거를 사용하여 Python에서 한 줄로 목록을 인쇄하는 방법

생성자에서 매개 변수를 전달하여 등록 된 서비스 사용을 예약하는 방법은 무엇입니까?

Shelex를 사용하여 curl 명령에 변수를 전달하는 방법

bquote ()를 사용하여 scale_x_discrete () 내에서 ggplot2에서 레이블을 동적으로 만드는 방법은 무엇입니까?

전체 페이지 템플릿을 방해하는 외부 HTML 방지

Kotlin에서 리플렉션을 사용하여 함수 참조를 얻는 방법

오버플로 스크롤을 사용하여 div에서 아래로 스크롤 할 때 비디오를 재생하는 방법

Camel 3을 사용하여 SimpleRegistry에 Bean을 등록하는 방법

html-webpack-plugin + twig-loader에 이미지를 포함하는 방법은 무엇입니까?

Vec <T>를 반환 유형으로 사용하고 wasm_bindgen을 사용하여 Javascript에서 읽을 수 있도록 만드는 방법

JUnitParams의 @FileParameters를 사용할 때 매개 변수에 null 값을 부여하는 방법

MVVMCross를 사용하여 Xamarin.Android에서 번호의 유효성을 검사하는 방법

React Native에서 인덱스를 사용하여 useState에서 배열을 업데이트하는 방법

Tensorflow : numpy에서와 같이 2D 인덱스를 사용하여 텐서를 인덱싱하는 방법

재귀 체계를 사용하여 Haskell에서이 확률 분포를 표현하는 방법

Python dict에서 문자열 값을 사용할 때 KeyError를 피하는 방법

ANDROID에서 AsyncTask ()를 사용하여 AlertDialog를 시작할 때 응용 프로그램 충돌을 피하는 방법은 무엇입니까?

다른 테이블의 행을 합산하고 javascript / jquery를 사용하여 새 테이블에 추가하는 방법

Node js에서 npm-imap 패키지를 사용하여 이메일을 읽고 구문 분석하는 방법

matplotlib에서 루프를 사용하여 값을 변경 한 후 좌표 점을 결합하는 방법

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл