Как использовать Shopify liquid для извлечения из строки?

#shopify #shopify-template

#Shopify #Shopify-шаблон

Вопрос:

У меня есть следующая строка:

 “Title
Content

Title
Content”
  

Я хочу извлечь каждый заголовок и каждый контент.

Я пытался использовать Shopify remove operator, но это становится очень длинным, и я не уверен, есть ли более простое решение?

Комментарии:

1. Привет! Не могли бы вы предоставить исходный код Liquid?

Ответ №1:

Использование split фильтра может быть ответом здесь!

Однако для того, чтобы этот вариант использования работал, вам нужно добавить пользовательские разделители между каждым заголовком / содержимым блока, если у вас есть доступ к содержимому, это будет выглядеть примерно так:

 <!-- Let's assume this content is coming from page.content -->
<h2>Title 1</h2><!-- inner-split --><p>content 1</p>
<!-- outer-split -->
<h2>Title 2</h2><!-- inner-split --><p>content 2</p>
  
 <!-- this split the content into title/content blocks  -->
{% assign content_blocks = page.content | split: '<!-- outer-split -->' %}

<!-- Loop through all blocks to split then extract title/content -->
{% for block in content_blocks %}
  {% assign title_content = block | split: '<!-- inner-split -->' %}
  <!-- title -->
  {{ title_content[0] }}
  <!-- content -->
  {{ title_content[1] }}
{% endfor %}