获取某个关键词在一行字符串或数组中出现的位置

安企CMS模板中怎么获取某个关键词在一行字符串或数组中出现的位置?

index 过滤器可以计算某个关键词在一行字符串或数组(array/slice)中出现的位置。如果字符串中包含多个需要查找的关键词,则index返回的是首次出现的位置。如果没有找到,则返回-1。注意:如果字符串中有中文,则计算位置的时候,一个中文算3个位置。

使用方法

index 过滤器的使用方法:

{{obj|index:关键词}}

比如判断 欢迎使用安企CMS(AnQiCMS) 中计算 CMS出现的位置,则可以这么写:

{{"欢迎使用安企CMS(AnQiCMS)"|index:"CMS"}}
# 显示结果
18

示例演示

计算一行文字中某个关键词出现的位置

直接输出结果:

{{"欢迎使用安企CMS(AnQiCMS)"|index:"CMS"}}
# 显示结果
18

计算一个数组中某个关键词出现的位置

数组中需要关键词等于 数组的值或者是索引,需要完全相等,不能部分匹配。

{% set values = "splits the string 安企CMS"|fields %}
{{values|index:"the"}}
# 显示结果
1
{% set values = "splits the string 安企CMS"|fields %}
{{values|index:"安企"}}
# 显示结果
-1