>  기사  >  웹 프론트엔드  >  Golang 1.6: text/template内进行HTML/JavaScript/URL转义处理_html/css_WEB-ITnose

Golang 1.6: text/template内进行HTML/JavaScript/URL转义处理_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 11:19:051630검색

本文针对版本 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())}

输出:

原始:刘 123 <> "HTML:刘 123 <> "JS:刘 123 \x3C\x3E \"URL:%E5%88%98+123+%3C%3E+%22
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.