Filter-String(字符串)

Filter-String

String(字符串)

  • append
  • capitalize
  • downcase
  • escape
  • escape_once
  • escape_quotes
  • lstrip
  • rstrip
  • strip
  • newline_to_br
  • prepend
  • remove
  • remove_first
  • replace
  • replace_first
  • slice
  • split
  • strip_html
  • strip_newlines
  • truncate
  • truncatewords
  • upcase

append

将给定字符串添加到字符串的末尾。

// 1.数据
{
  "product": {
    "url": "/products/health-potion"
  },
  "request": {
    "origin": "https://polinas-potent-potions.myfecify.com"
  }
}


// 2.代码
{%- assign path = product.url -%}
{{ request.origin | append: path }}


// 3.输出
https://polinas-potent-potions.myfecify.com/products/health-potion

capitalize

将字符串中的第一个单词大写,其余字符小写

// 1.代码
{{ 'this sentence should start with a capitalized word.' | capitalize }}


// 2.输出
This sentence should start with a capitalized word.

downcase

将字符串转换为全部小写字符。

// 1.数据
{
  "product": {
    "title": "Health potion"
  }
}

// 2.代码
{{ product.title | downcase }}


// 3.输出
health potion

escape

转义 HTML 中的特殊字符,例如<>、'和&,并将字符转换为转义序列。


// 1.代码
{{ '<p>Text to be escaped.</p>' | escape }}


// 2.输出
&lt;p&gt;Text to be escaped.&lt;/p&gt;

escape_once

转义字符串但不改变已经转义的字符。

# applying the escape_once filter to already escaped text skips characters in HTML entities:

{{ "&lt;p&gt;Text to be escaped.&lt;/p&gt;" | escape_once }}

escape_quotes

将字符串里面的单引号'替换为双引号"

// 1.数据
{
  "product": {
    "title": "Health 'potion'"
  }
}

// 2.代码
{{ product.title | escape_quotes }}


// 3.输出
Health "potion"

lstrip

去除字符串左侧的所有空格。


// 1.代码
{%- assign text = '  Some potions create whitespace.      ' -%}

"{{ text }}"
"{{ text | lstrip }}"


// 2.输出
"  Some potions create whitespace.      "
"Some potions create whitespace.      "

rstrip

去除字符串右侧的所有空格。

// 1.代码
{%- assign text = '  Some potions create whitespace.      ' -%}

"{{ text }}"
"{{ text | rstrip }}"


// 2.输出
"  Some potions create whitespace.      "
"  Some potions create whitespace."

strip

去除字符串左侧和右侧的所有空格。

// 1.代码
{%- assign text = '  Some potions create whitespace.      ' -%}

"{{ text }}"
"{{ text | strip }}"


// 2.输出
"  Some potions create whitespace.      "
"Some potions create whitespace."

newline_to_br

将字符串中的换行符 ( \n) 转换为 HTML 换行符 (
)

// 1.数据
{
  "product": {
    "description": "<h3>Are you low on health? Well we've got the potion just for you!</h3>\n<p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>"
  }
}


// 2.代码
{{ product.description | newline_to_br }}


// 3.输出
<h3>Are you low on health? Well we've got the potion just for you!</h3><br />
<p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>

prepend

将指定字符串A添加到字符串B的开头。

// 1.数据
{
  "product": {
    "url": "/products/health-potion"
  },
  "request": {
    "origin": "https://polinas-potent-potions.myshopify.com"
  }
}


// 2.代码
{%- assign origin = request.origin -%}
{{ product.url | prepend: origin }}


// 3.输出
https://polinas-potent-potions.myfecify.com/products/health-potion

remove

删除字符串内的任何子字符串实例。

// 1.代码
{{ "I can't do it!" | remove: "'t" }}


// 2.输出
I can do it!

remove_first

删除字符串中子字符串的第一个实例。

// 1.代码
{{ "I hate it when I accidentally spill my duplication potion accidentally!" | remove_first: ' accidentally' }}


// 2.输出
I hate it when I spill my duplication potion accidentally!

replace

将字符串A,包含指的子字符串B,全部进行替换成字符串C

// 1.数据
{
  "product": {
    "handle": "komodo-dragon-scale"
  }
}

// 2.代码
{{ product.handle | replace: '-', ' ' }}

// 3.输出
komodo dragon scale

replace_first

用给定的字符串,替换字符串中子字符串的第一个实例。

// 1.数据
{
  "product": {
    "handle": "komodo-dragon-scale"
  }
}

// 2.代码
{{ product.handle | replace_first: '-', ' ' }}

// 3.输出
komodo dragon-scale

slice

返回从给定的基于 0 的索引开始的子字符串或一系列数组项。

默认情况下,子字符串的长度为一个字符,数组序列包含一个数组项。不过,您可以提供第二个参数来指定字符数或数组项的数量。

// 1.数据
{
  "collection": {
    "all_tags": [
      "Burning",
      "dried",
      "extra-potent",
      "extracts",
      "fresh",
      "healing",
      "ingredients",
      "music",
      "plant",
      "Salty",
      "supplies"
    ],
    "title": "Products"
  }
}


// 2.代码
{{ collection.title | slice: 0 }}
{{ collection.title | slice: 0, 5 }}

{{ collection.all_tags | slice: 1, 2 | join: ', ' }}


// 3.输出
P
Produ

dried, extra-potent

负参数

您可以提供一个从字符串末尾开始计数的负索引。

// 1.数据
{
  "collection": {
    "title": "Products"
  }
}


// 2.代码
{{ collection.title | slice: -5, 3 }}


// 3.输出(倒数第5个位置开始,然后向右取3个字符串)
duc

split

根据给定的分隔符将字符串拆分为子字符串数组。

// 1.数据
{
  "product": {
    "handle": "health-potion"
  }
}


// 2.代码
{%- assign title_words = product.handle | split: '-' -%}

{% for word in title_words -%}
  {{ word }}
{%- endfor %}


// 3.输出
health
potion

strip_html

从字符串中去除所有 HTML 标签。

// 1.数据
{
  "product": {
    "description": "<h3>Are you low on health? Well we've got the potion just for you!</h3>\n<p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>"
  }
}


// 2.代码
<!-- With HTML -->
{{ product.description }}

<!-- HTML stripped -->
{{ product.description | strip_html }}


// 3.输出
<!-- With HTML -->
<h3>Are you low on health? Well we've got the potion just for you!</h3>
<p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>

<!-- HTML stripped -->
Are you low on health? Well we've got the potion just for you!
Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!

strip_newlines

从字符串中去除所有换行符(换行符)。

// 1.数据
{
  "product": {
    "description": "<h3>Are you low on health? Well we've got the potion just for you!</h3>\n<p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>"
  }
}

// 2.代码
<!-- With newlines -->
{{ product.description }}

<!-- Newlines stripped -->
{{ product.description | strip_newlines }}

// 3.输出
<!-- With newlines -->
<h3>Are you low on health? Well we've got the potion just for you!</h3>
<p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>

<!-- Newlines stripped -->
<h3>Are you low on health? Well we've got the potion just for you!</h3><p>Just need a top up? Almost dead? In between? No need to worry because we have a range of sizes and strengths!</p>

truncate

将字符串截断为给定数量的字符。

如果指定的字符数小于字符串的长度,则会在截断的字符串后附加一个省略号 ( ... )。省略号包含在截断字符串的字符数中。

// 1.数据
{
  "article": {
    "title": "How to tell if you're out of invisibility potion"
  }
}

// 2.代码
{{ article.title | truncate: 15, '...' }}


// 3.输出
How to tell if ...

truncatewords

1.将字符串截断为给定数量的单词。

如果指定的单词数少于字符串中的单词数,则会在截断的字符串后附加省略号 ( ... )。

  • HTML 标签被视为单词,因此您应该从截断的内容中删除所有 HTML。如果您不删除 HTML,则可能会删除结束 HTML 标签,从而导致意外行为。
// 1.数据
{
  "article": {
    "content": "<p>We've all had this problem before: we peek into the potions vault to determine which potions we are running low on, and the invisibility potion bottle looks completely empty.</p>\n<p>...</p>\n<p> </p>"
  }
}


// 2.代码
{{ article.content | strip_html | truncatewords: 15 }}


// 3.输出
We've all had this problem before: we peek into the potions vault to determine which...

2.指定自定义省略号

  • 您可以提供第二个参数来指定自定义省略号。如果您不想要省略号,则可以提供一个空字符串。
// 1.数据
{
  "article": {
    "content": "<p>We've all had this problem before: we peek into the potions vault to determine which potions we are running low on, and the invisibility potion bottle looks completely empty.</p>\n<p>...</p>\n<p> </p>"
  }
}


// 2.代码
{{ article.content | strip_html | truncatewords: 15, '--' }}

{{ article.content | strip_html | truncatewords: 15, '' }}


// 3.输出
We've all had this problem before: we peek into the potions vault to determine which--

We've all had this problem before: we peek into the potions vault to determine which

upcase

将字符串转换为全部大写字符。

// 1.数据
{
  "product": {
    "title": "Health potion"
  }
}

// 2.代码
{{ product.title | upcase }}

// 3.输出
HEALTH POTION
Copyright © fecify.com 2025 all right reserved,powered by Gitbook该文件修订时间: 2025-09-08 19:14:41

results matching ""

    No results matching ""