如何在Shopify中按换行拆分字符串?

Pro*_*ank 11 liquid shopify

我有一个字段,我settings.html希望用户输入由两个换行符分隔的多个段落.我想将这个输入字符串拆分为一个字符串数组,每个字符串代表一个段落.

我想做这样的事情:

{% assign paragraphs = settings.intro | split: '\n' %}
{% for paragraph in paragraphs %}
    <p>
        {{ paragraph }}
    </p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚如何在Liquid中引用换行符.我该怎么做呢?有什么工作吗?

Jos*_*own 27

试试这个:

{% assign paragraphs = settings.intro | newline_to_br | split: '<br />' %}
{% for paragraph in paragraphs %}<p>{{ paragraph }}</p>{% endfor %}
Run Code Online (Sandbox Code Playgroud)

  • 建议:在`newline_to_br`之后添加`strip_newlines`. (11认同)

How*_*owl 5

事实上,如果您确实需要 Shopify 以换行符分割,并且之后不使用 for 循环进行迭代,那么这确实是可能的:

{% assign paragraphs = settings.intro | split: '
' %}
{% for paragraph in paragraphs %}
    <p>
        {{ paragraph }}
    </p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

IE。您需要在源代码中输入显式换行符。

这是由于 Liquid 的工作方式造成的,引用有关Types的文档:

Liquid 不会将转义序列转换为特殊字符。