Liquid 如何在液体中避开引号?

Liquid 如何在液体中避开引号?,liquid,Liquid,我正在使用一个输入字符串,比如“James”Jim“Smith”,在字符串中,一个人的昵称被双引号引用。我一直试图通过使用contains操作符来查找某人是否有昵称,但它从未找到带有双引号的条目。例如: <-- Name - James "Jim" Smith --> {% if Name contains '\"' %} Do Something {% else %} Always gets here {% endif %} {%如果名称包含“\”%% 做点什么 {

我正在使用一个输入字符串,比如“James”Jim“Smith”,在字符串中,一个人的昵称被双引号引用。我一直试图通过使用contains操作符来查找某人是否有昵称,但它从未找到带有双引号的条目。例如:

<-- Name - James "Jim" Smith -->
{% if Name contains '\"' %}
   Do Something
{% else %}
   Always gets here
{% endif %}

{%如果名称包含“\”%%
做点什么
{%else%}
总是来这里
{%endif%}

如何使用contains(或split)搜索字符串中的文字双引号?

您不需要对其进行转义。以下内容将返回true:

{% assign name = 'James "Jim" Smith' %}
{% if name contains '"' %}
  true
{% else %}
  false
{% endif %}

我读过关于通过加倍来避免单引号和双引号的文章,我自己在这方面也取得了一些成功

在我自己的例子中,我试图从字符串中删除引号 但以下几点不起作用:

{{ post.title | remove: """ }}
然而,这确实起了作用:

{{ post.title | remove: """" }}
我认为这在你的if声明中是可行的:

{% if name contains '""' %}

但是我不确定在分配字符串的地方,或者如果你需要在“分配”中转义它,我已经观察到了“液体映射”

“翻译成了
\”

你试过双斜杠了吗?例如:“詹姆斯\”吉姆\“史密斯”我先尝试了这个,但它不起作用,它总是为“或”返回false\“双斜杠也不起作用(但值得一试)。如果我搜索字符的子集,如“Jim”,contains语句返回true。奇怪的是,上面的输出对我来说是true。尝试将上述内容复制并粘贴到您的项目中。看什么happens@DaveW这是很久以前的事了,但你是在Shopify上工作还是在做其他事情?