【问题标题】:Get substring from string in Liquid?从Liquid中的字符串获取子字符串?
【发布时间】:2015-01-08 09:37:49
【问题描述】:

我正在使用 Jekyll,我有字符串 balh blah blah&garbage **&*&% garbage <h1>TITLE</h1> &^*$%"

有没有办法获取 TITLE?我查看了函数here,但没有看到可以使用的功能。

【问题讨论】:

    标签: function substring jekyll liquid


    【解决方案1】:

    split 救援!

    {% assign str = 'garbage <h1>TITLE</h1> moregarbage' %}
    {% assign a = str | split: '<h1>' %}
    

    我们现在在 a[0] 中有 garbage,在 a[1] 中有 TITLE&lt;/h1&gt; moregarbage

    {% assign b = a[1] | split: '</h1>' %}
    

    我们现在在 b[0] 中有 TITLE,在 b[1] 中有 moregarbage

    【讨论】:

    • 实际上,当您输入答案时,我想出了这个问题:) 很遗憾,他们不允许使用通配符。这是可用的,但如果 h1 有一个类,它就很容易中断。
    【解决方案2】:

    我知道这是古老的,但对于其他遇到它的人:https://shopify.github.io/liquid/basics/operators/

    contains 包含检查 a 中是否存在子字符串 字符串。

    {% if product.title contains "Pack" %} 该产品的标题包含 包这个词。 {% endif %}

    contains 还可以检查一个字符串是否存在于一个数组中 字符串。

    {% if product.tags contains "Hello" %} 该产品已被标记 用“你好”。 {% endif %}

    contains 只能搜索字符串。你不能用它来检查 对象数组中的对象。

    【讨论】:

    • 在这种情况下这对我来说效果最好。我能够为产品标题中具有相同单词的元素添加一个特殊的类。
    猜你喜欢
    • 1970-01-01
    • 2015-08-21
    • 1970-01-01
    • 2017-10-16
    • 2011-05-25
    • 1970-01-01
    相关资源
    最近更新 更多