Golang1.6:text/template內(nèi)進(jìn)行HTML/JavaScript/URL轉(zhuǎn)義處理_html/css
來源:懂視網(wǎng)
責(zé)編:小采
時間:2020-11-27 16:26:43
Golang1.6:text/template內(nèi)進(jìn)行HTML/JavaScript/URL轉(zhuǎn)義處理_html/css
Golang1.6:text/template內(nèi)進(jìn)行HTML/JavaScript/URL轉(zhuǎn)義處理_html/css_WEB-ITnose:本文針對版本 Golang 1.6 首先Go中有兩個模板package,一個是 html/template,它可以嘗試解析HTML并在適當(dāng)?shù)牡胤阶鼍幋a,另一個是 text/template,從名字是也可以看出來,這個就是基于純文本的模板處理,因此如果需要編碼轉(zhuǎn)義,則需要手動加函數(shù),文檔 在這
導(dǎo)讀Golang1.6:text/template內(nèi)進(jìn)行HTML/JavaScript/URL轉(zhuǎn)義處理_html/css_WEB-ITnose:本文針對版本 Golang 1.6 首先Go中有兩個模板package,一個是 html/template,它可以嘗試解析HTML并在適當(dāng)?shù)牡胤阶鼍幋a,另一個是 text/template,從名字是也可以看出來,這個就是基于純文本的模板處理,因此如果需要編碼轉(zhuǎn)義,則需要手動加函數(shù),文檔 在這
本文針對版本 Golang 1.6
首先Go中有兩個模板package,一個是 html/template,它可以嘗試解析HTML并在適當(dāng)?shù)牡胤阶鼍幋a,另一個是 text/template,從名字是也可以看出來,這個就是基于純文本的模板處理,因此如果需要編碼轉(zhuǎn)義,則需要手動加函數(shù),文檔 在這里。模板中的函數(shù)調(diào)用格式是:
functionName [Argument...]
text/template中很多預(yù)定義函數(shù),這里我們關(guān)注HTML, JavaScript和URL的轉(zhuǎn)義,分別對應(yīng) html, js和 urlquery這三個函數(shù),所以使用這三個函數(shù),然后在后面加上參數(shù)即可。
完整示例代碼:
package mainimport ( "bytes" "fmt" "text/template")func main() { t := template.Must(template.New("test").Parse("原始:{{.}}\nHTML:{{html .}}\nJS:{{js .}}\nURL:{{urlquery .}}")) buffer := &bytes.Buffer{} err := t.Execute(buffer, "劉 123 <> \"") if err != nil { panic(err) } fmt.Print(buffer.String())}
輸出:
原始:劉 123 <> "HTML:劉 123 <> "JS:劉 123 \x3C\x3E \"URL:%E5%88%98+123+%3C%3E+%22
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
Golang1.6:text/template內(nèi)進(jìn)行HTML/JavaScript/URL轉(zhuǎn)義處理_html/css
Golang1.6:text/template內(nèi)進(jìn)行HTML/JavaScript/URL轉(zhuǎn)義處理_html/css_WEB-ITnose:本文針對版本 Golang 1.6 首先Go中有兩個模板package,一個是 html/template,它可以嘗試解析HTML并在適當(dāng)?shù)牡胤阶鼍幋a,另一個是 text/template,從名字是也可以看出來,這個就是基于純文本的模板處理,因此如果需要編碼轉(zhuǎn)義,則需要手動加函數(shù),文檔 在這