Go 模板自动转义,但只有五个字符 <>&' 和 "(参见html.EscapeString)所以这段代码就像check := func(err error) { if err != nil { log.Fatal(err) }}t, err := template.New("foo").Parse(`{{define "T"}}special chars: {{.}}{{end}}`)check(err)err = t.ExecuteTemplate(os.Stdout, "T", "<>&' äåüöß")check(err)返回(您可以在此处查看:Go Playground)special chars: <>&' äåüöß那么如何使用 golang 模板来呈现可能包含 äåüöß 等字符的文本?这不像我自己可以逃脱这些,因为例如“ä”会转义为“ä” 这意味着在我手动转义之后,golang 只是第二次转义了其中的“&”字符部分,我得到了“ä” (但 html 文件应该包含一个转义的“ä”,以便浏览器显示一个“ä”)。
- 1 回答
- 0 关注
- 832 浏览
添加回答
举报
0/150
提交
取消
