将 []byte 传递到模板中,作为论坛风格 Web 应用程序上消息帖子的正文。在模板中,调用转换为字符串的方法,并在此过程中将所有换行符切换为换行符:
<p>{{.BodyString}}</p>
...
func (p *Post) BodyString() string {
nl := regexp.MustCompile(`\n`)
return nl.ReplaceAllString(string(p.Body), `<br>`)
}
你最终会得到什么:
paragraphs <br> <br>in <br> <br>this <br> <br>post
我不想用 HTML(p.Body) 传递整个帖子,因为它代表来自潜在不可靠来源的第三方数据。有没有办法使用 vanilla Go1 模板包仅将一些标签列入白名单以进行格式化?