内容解析
解析文字
當模闆中需要使用<stl:content>
、<stl:channel>
、<stl:value>
等标簽解析文字時(shí),我們可以通過(guò)屬性來控制文字解析的格式。
wordNum 文字字數
設置解析文字的字數,超出部分將(jiāng)用 ellipsis 屬性設置的值替代。
提示
wordNum 區分中英文,中文漢字算作一個字符,兩(liǎng)個英文字母才算作一個字符。
由于在 Web 頁面(miàn)中,兩(liǎng)個英文字母的寬度等于一個漢字,所以我們通常使用 wordNum 屬性來設置文本的解析數量。
<stl:content wordNum="50"></stl:content>
startIndex 文字開(kāi)始位置
設置文字開(kāi)始解析的位置,默認值爲 0,代表從頭解析。
提示
startIndex 不區分中英文,漢字、英文字母、空格及符号均認爲是一個字符。
<stl:content startIndex="10"></stl:content>
length 文字字數
設置解析文字的字數,超出部分將(jiāng)用 ellipsis 屬性設置的值替代。
提示
length 不區分中英文,漢字、英文字母、空格及符号均認爲是一個字符。
<stl:content length="100"></stl:content>
ellipsis 省略符号
設置了 wordNum 屬性或者 length 屬性時(shí),當文字超出了指定的字數後(hòu),超出部分將(jiāng)用 ellipsis 屬性設置的值來替代。
ellipsis 的默認值爲 ...,你也可以設置空值(ellipsis="")來讓超出部分不使用符号替換。
<stl:content wordNum="100" ellipsis=" -- end --"></stl:content>
replace 替換前文字
如果需要將(jiāng)文字中的一部分替換爲另一部分,可以使用 replace 屬性和 to 屬性。
replace 代表需要替換的文字,支持純文本、列表和正則表達式三種(zhǒng)寫法。
使用純文本替換
純文本替換直接輸入替換前文字和替換後(hòu)文字即可:
<stl:content replace="他" to="她"></stl:content>
使用列表替換
列表替換适合多個文本替換的情況,將(jiāng)需要替換的文字用英文逗号(,)隔開(kāi):
<stl:content replace="他,她" to="he,she"></stl:content>
如果多個文本都(dōu)替換爲一個文本,to 屬性可以不使用逗号隔開(kāi):
<stl:content replace="他,她" to="who"></stl:content>
使用正則表達式替換
正則表達式替換需要將(jiāng) replace 前後(hòu)添加“/”符号,“/”符号之間的文字爲替換需要使用的正則表達式:
<stl:content replace="/(Mr\\.? |Mrs\\.? |Miss |Ms\\.? )/" to=""></stl:content>
to 替換後(hòu)文字
to 代表替換後(hòu)的文字
isClearTags 是否清除 HTML 标簽
設置是否清除 HTML 标簽,僅解析純文本。
在後(hòu)台内容編輯器中錄入的數據通常會(huì)帶有大量的 HTML 标簽,如果我們隻希望解析文字本身,需要使用 isClearTags 屬性。
- "true" 清除 HTML 标簽。
- "false" 不清除 HTML 标簽。此值是默認的,如果沒(méi)有指定屬性的話。
<stl:content type="content" isClearTags="true"></stl:content>
isReturnToBr 是否轉換換行符
設置是否將(jiāng)回車換行符号替換爲 HTML
換行标簽。
由于 HTML 中的換行在頁面(miàn)中解析爲空格,所以如果需要解析後(hòu)台 TextArea 文本框錄入的換行時(shí),需要使用 isReturnToBr 屬性。
- "true" 替換回車符。
- "false" 不替換回車符。此值是默認的,如果沒(méi)有指定屬性的話。
<stl:content type="summary" isReturnToBr="true"></stl:content>
isLower 是否轉換爲小寫
設置是否將(jiāng)文本中的所有英文字母轉換爲小寫字母。
- "true" 轉換爲小寫。
- "false" 不轉換爲小寫。此值是默認的,如果沒(méi)有指定屬性的話。
<stl:content type="title" isLower="true"></stl:content>
isUpper 是否轉換爲大寫
設置是否將(jiāng)文本中的所有英文字母轉換爲大寫字母。
- "true" 轉換爲大寫。
- "false" 不轉換爲大寫。此值是默認的,如果沒(méi)有指定屬性的話。
<stl:content type="title" isUpper="true"></stl:content>
leftText 文字前綴
解析在文字之前的文字,系統會(huì)判斷文字是否爲空,如果文字爲空,文字前綴也將(jiāng)不解析。
<stl:content leftText="标題:" type="title"></stl:content>
rightText 文字後(hòu)綴
解析在文字之後(hòu)的文字,系統會(huì)判斷文字是否爲空,如果文字爲空,文字後(hòu)綴也將(jiāng)不解析。
<stl:content leftText="【" rightText="】" type="title"></stl:content>
解析日期
當需要解析日期型的字段值時(shí),通常通過(guò) formatString 屬性來設置日期格式,具體格式如下:
符号 | 說(shuō)明 |
---|---|
d | 月中的某一天。一位數的日期沒(méi)有前導零。 |
dd | 月中的某一天。一位數的日期有一個前導零。 |
ddd | 周中某天的縮寫名稱,在 AbbreviatedDayNames 中定義。 |
dddd | 周中某天的完整名稱,在 DayNames 中定義。 |
M | 月份數字。一位數的月份沒(méi)有前導零。 |
MM | 月份數字。一位數的月份有一個前導零。 |
MMM | 月份的縮寫名稱,在 AbbreviatedMonthNames 中定義。 |
MMMM | 月份的完整名稱,在 MonthNames 中定義。 |
y | 不包含紀元的年份。如果不包含紀元的年份小于 10,則解析不具有前導零的年份。 |
yy | 不包含紀元的年份。如果不包含紀元的年份小于 10,則解析具有前導零的年份。 |
yyyy | 包括紀元的四位數的年份。 |
gg | 時(shí)期或紀元。如果要設置格式的日期不具有關聯的時(shí)期或紀元字符串,則忽略該模式。 |
h | 12小時(shí)制的小時(shí)。一位數的小時(shí)數沒(méi)有前導零。 |
hh | 12小時(shí)制的小時(shí)。一位數的小時(shí)數有前導零。 |
H | 24小時(shí)制的小時(shí)。一位數的小時(shí)數沒(méi)有前導零。 |
HH | 24小時(shí)制的小時(shí)。一位數的小時(shí)數有前導零。 |
m | 分鍾,一位數的分鍾數沒(méi)有前導零。 |
mm | 分鍾,一位數的分鍾數有一個前導零。 |
s | 秒,一位數的秒數沒(méi)有前導零。 |
ss | 秒,一位數的秒數有一個前導零。 |
f | 秒的小數精度爲一位。其餘數字被(bèi)截斷。 |
ff | 秒的小數精度爲兩(liǎng)位。其餘數字被(bèi)截斷。 |
fff | 秒的小數精度爲三位。其餘數字被(bèi)截斷。 |
ffff | 秒的小數精度爲四位。其餘數字被(bèi)截斷。 |
fffff | 秒的小數精度爲五位。其餘數字被(bèi)截斷。 |
ffffff | 秒的小數精度爲六位。其餘數字被(bèi)截斷。 |
fffffff | 秒的小數精度爲七位。其餘數字被(bèi)截斷。 |
t | 在AMDesignator或PMDesignator中定義的AM/PM指示項的第一個字符(如果存在)。 |
tt | 在AMDesignator或PMDesignator中定義的AM/PM指示項(如果存在)。 |
z | 時(shí)區偏移量(“+”或“-”後(hòu)面(miàn)僅跟小時(shí))。一位數的小時(shí)數沒(méi)有前導零。例如,太平洋标準時(shí)間是“-8”。 |
zz | 時(shí)區偏移量(“+”或“-”後(hòu)面(miàn)僅跟小時(shí))。一位數的小時(shí)數有前導零。例如,太平洋标準時(shí)間是“-08”。 |
zzz | 完整時(shí)區偏移量(“+”或“-”後(hòu)面(miàn)跟有小時(shí)和分鍾)。一位數的小時(shí)數和分鍾數有前導零。例如,太平洋标準時(shí)間是“-08:00”。 |
: | 在TimeSeparator中定義的默認時(shí)間分隔符。 |
/ | 在DateSeparator中定義的默認日期分隔符。 |
%c | 其中c是格式模式(如果單獨使用)。如果格式模式與原義字符或其他格式模式合并,則可以省略“%”字符。 |
c | 其中c是任意字符。照原義解析字符。若要解析反斜杠字符,請使用“\”。 |
示例
下面(miàn)的例子在頁面(miàn)中解析内容的添加時(shí)間,并按照"yyyy-MM-dd"格式解析。
<stl:content type="AddDate" formatString="yyyy-MM-dd"></stl:content>
解析後(hòu)的 HTML 代碼:
2021-01-27