本文针对版本 golang 1.6
首先Go中有两个模板package,一个是 html/template,它可以尝试解析HTML并在适当的地方做编码,另一个是 text/template,从名字是也可以看出来,这个就是基于纯文本的模板处理,因此如果需要编码转义,则需要手动加函数,文档 在这里。模板中的函数调用格式是:
functionName [Argument...]
text/template中很多预定义函数,这里我们关注HTML, JavaScript和URL的转义,分别对应 html, js和 urlquery这三个函数,所以使用这三个函数,然后在后面加上参数即可。
完整示例代码:
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())}输出:
立即学习“Java免费学习笔记(深入)”;
原始:刘 123 <> "HTML:刘 123 <> "JS:刘 123 \x3C\x3E \"URL:%E5%88%98+123+%3C%3E+%22
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号