内容解析

解析文字

当模板中需要使用<stl:content><stl:channel><stl:value>等标签解析文字时,我们可以通过属性来控制文字解析的格式。

wordNum 文字字数

设置解析文字的字数,超出部分将用 ellipsis 属性设置的值替代。

提示

wordNum 区分中英文,中文汉字算作一个字符,两个英文字母才算作一个字符。

由于在 Web 页面中,两个英文字母的宽度等于一个汉字,所以我们通常使用 wordNum 属性来设置文本的解析数量。

<stl:content wordNum="50"></stl:content>
1

startIndex 文字开始位置

设置文字开始解析的位置,默认值为 0,代表从头解析。

提示

startIndex 不区分中英文,汉字、英文字母、空格及符号均认为是一个字符。

<stl:content startIndex="10"></stl:content>
1

length 文字字数

设置解析文字的字数,超出部分将用 ellipsis 属性设置的值替代。

提示

length 不区分中英文,汉字、英文字母、空格及符号均认为是一个字符。

<stl:content length="100"></stl:content>
1

ellipsis 省略符号

设置了 wordNum 属性或者 length 属性时,当文字超出了指定的字数后,超出部分将用 ellipsis 属性设置的值来替代。

ellipsis 的默认值为 ...,你也可以设置空值(ellipsis="")来让超出部分不使用符号替换。

<stl:content wordNum="100" ellipsis=" -- end --"></stl:content>
1

replace 替换前文字

如果需要将文字中的一部分替换为另一部分,可以使用 replace 属性和 to 属性。

replace 代表需要替换的文字,支持纯文本、列表和正则表达式三种写法。

使用纯文本替换

纯文本替换直接输入替换前文字和替换后文字即可:

<stl:content replace="" to=""></stl:content>
1

使用列表替换

列表替换适合多个文本替换的情况,将需要替换的文字用英文逗号(,)隔开:

<stl:content replace="他,她" to="he,she"></stl:content>
1

如果多个文本都替换为一个文本,to 属性可以不使用逗号隔开:

<stl:content replace="他,她" to="who"></stl:content>
1

使用正则表达式替换

正则表达式替换需要将 replace 前后添加“/”符号,“/”符号之间的文字为替换需要使用的正则表达式:

<stl:content replace="/(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )/" to=""></stl:content>
1

to 替换后文字

to 代表替换后的文字

isClearTags 是否清除 HTML 标签

设置是否清除 HTML 标签,仅解析纯文本。

在后台内容编辑器中录入的数据通常会带有大量的 HTML 标签,如果我们只希望解析文字本身,需要使用 isClearTags 属性。

  • "true" 清除 HTML 标签。
  • "false" 不清除 HTML 标签。此值是默认的,如果没有指定属性的话。
<stl:content type="content" isClearTags="true"></stl:content>
1

isReturnToBr 是否转换换行符

设置是否将回车换行符号替换为 HTML
换行标签。

由于 HTML 中的换行在页面中解析为空格,所以如果需要解析后台 TextArea 文本框录入的换行时,需要使用 isReturnToBr 属性。

  • "true" 替换回车符。
  • "false" 不替换回车符。此值是默认的,如果没有指定属性的话。
<stl:content type="summary" isReturnToBr="true"></stl:content>
1

isLower 是否转换为小写

设置是否将文本中的所有英文字母转换为小写字母。

  • "true" 转换为小写。
  • "false" 不转换为小写。此值是默认的,如果没有指定属性的话。
<stl:content type="title" isLower="true"></stl:content>
1

isUpper 是否转换为大写

设置是否将文本中的所有英文字母转换为大写字母。

  • "true" 转换为大写。
  • "false" 不转换为大写。此值是默认的,如果没有指定属性的话。
<stl:content type="title" isUpper="true"></stl:content>
1

leftText 文字前缀

解析在文字之前的文字,系统会判断文字是否为空,如果文字为空,文字前缀也将不解析。

<stl:content leftText="标题:" type="title"></stl:content>
1

rightText 文字后缀

解析在文字之后的文字,系统会判断文字是否为空,如果文字为空,文字后缀也将不解析。

<stl:content leftText="" rightText="" type="title"></stl:content>
1

解析日期

当需要解析日期型的字段值时,通常通过 formatString 属性来设置日期格式,具体格式如下:

符号说明
d月中的某一天。一位数的日期没有前导零。
dd月中的某一天。一位数的日期有一个前导零。
ddd周中某天的缩写名称,在 AbbreviatedDayNames 中定义。
dddd周中某天的完整名称,在 DayNames 中定义。
M月份数字。一位数的月份没有前导零。
MM月份数字。一位数的月份有一个前导零。
MMM月份的缩写名称,在 AbbreviatedMonthNames 中定义。
MMMM月份的完整名称,在 MonthNames 中定义。
y不包含纪元的年份。如果不包含纪元的年份小于 10,则解析不具有前导零的年份。
yy不包含纪元的年份。如果不包含纪元的年份小于 10,则解析具有前导零的年份。
yyyy包括纪元的四位数的年份。
gg时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h12小时制的小时。一位数的小时数没有前导零。
hh12小时制的小时。一位数的小时数有前导零。
H24小时制的小时。一位数的小时数没有前导零。
HH24小时制的小时。一位数的小时数有前导零。
m分钟,一位数的分钟数没有前导零。
mm分钟,一位数的分钟数有一个前导零。
s秒,一位数的秒数没有前导零。
ss秒,一位数的秒数有一个前导零。
f秒的小数精度为一位。其余数字被截断。
ff秒的小数精度为两位。其余数字被截断。
fff秒的小数精度为三位。其余数字被截断。
ffff秒的小数精度为四位。其余数字被截断。
fffff秒的小数精度为五位。其余数字被截断。
ffffff秒的小数精度为六位。其余数字被截断。
fffffff秒的小数精度为七位。其余数字被截断。
t在AMDesignator或PMDesignator中定义的AM/PM指示项的第一个字符(如果存在)。
tt在AMDesignator或PMDesignator中定义的AM/PM指示项(如果存在)。
z时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。
zz时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。
zzz完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。
:在TimeSeparator中定义的默认时间分隔符。
/在DateSeparator中定义的默认日期分隔符。
%c其中c是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。
c其中c是任意字符。照原义解析字符。若要解析反斜杠字符,请使用“\”。
示例

下面的例子在页面中解析内容的添加时间,并按照"yyyy-MM-dd"格式解析。

<stl:content type="AddDate" formatString="yyyy-MM-dd"></stl:content>
1

解析后的 HTML 代码:

2021-01-27
1