You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Liquid模板语言中如何将转义序列转回特殊字符?

在Liquid中还原转义序列为特殊字符的方法

场景说明

你使用escape过滤器处理product.type后,内容被转义为包含'(单引号转义)、"(双引号转义)的格式,需要在前端恢复为带原始单双引号的正常文本。

解决方案

Liquid没有内置的“反转义”过滤器,但可以通过以下两种方式实现需求:

1. 链式replace过滤器(快速实现)

直接对已转义的内容执行批量替换,把转义序列换回原始符号:

{{ product.type | escape | replace: ''', "'" | replace: '"', '"' }}

如果你的场景不需要先执行escape转义,直接输出原始内容即可,这是最简便的方式:

{{ product.type }}

2. 自定义过滤器(适合频繁使用的场景)

若需要多次处理这类反转义操作,可以在主题中添加自定义过滤器:

  • 进入Shopify后台的主题代码编辑,找到assets目录下的theme.js或新建custom-filters.js
  • 添加以下代码:
Liquid.registerFilter('unescape_chars', function(str) {
  return str.replace(/'/g, "'").replace(/"/g, '"');
});

之后在模板中即可直接调用自定义过滤器:

{{ product.type | escape | unescape_chars }}

效果验证

处理后,原本的转义内容:

100FWTB, 25L-BELOW, 4'4"-5'5", 5'0" - 5'11", FIREWIRE, FUTURES, Groveler Surfboards, HELIUM 2, HELIUM CONSTRUCTION, IN-STOCK, N60, partial_payment, PO#514, SHORTBOARDITEMS, SHORTBOARDS, SURFBOARDS

将被还原为你期望的格式:

100FWTB, 25L-BELOW, 4'4"-5'5", 5'0" - 5'11", FIREWIRE, FUTURES, Groveler Surfboards, HELIUM 2, HELIUM CONSTRUCTION, IN-STOCK, N60, partial_payment, PO#514, SHORTBOARDITEMS, SHORTBOARDS, SURFBOARDS

内容的提问来源于stack exchange,提问作者Midhun k

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 13:53:17