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