为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 是否有一种“safeTemplateVariable”函数?

Golang 是否有一种“safeTemplateVariable”函数?

Go
慕村225694 2023-05-08 16:03:35
最好用一个例子来问这个问题:首先,让我们在 Golang 中声明一个变量:{{ $html := "<b>hi!</b>" }}如果我们尝试输出{{ $html }}输出将是:输入:{{ $html }}输出:<b>hi!</b>如果您传递该safeHTML函数,html 将进行计算并且输出将是:输入:{{ $html | safeHTML }}输出:hi!有没有办法解析 Golang 变量?像这样:如果我试试这个:{{ $var1 := "it's me!" }}{{ $var2 := "hey guys, {{ $var1 }}" }}这会发生:输入:{{ $var2 }}输出:"hey guys, {{ $var 1 }}"但我希望$var1评估价值,如下所示:"hey guys, it's me!"对不起,如果我不够清楚,我不是以英语为母语的人谢谢您的帮助!
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

你可以做

 {{ $var2 := (printf "hey guys, %v" $var1) }}
查看完整回答
反对 回复 2023-05-08
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

“安全”是 Go 中 HTML 模板的默认模式。

如果您有一个带有特殊 HTML 字符的变量,它们会在输出时被转义,从而使它们完全安全。不过,这与剥离 HTML 标记不同,您的示例似乎是这样做的。如果你想去除 HTML 标签,而不是转义 HTML 字符,你需要编写自己的函数。

如果要禁用安全行为并输出原始 HTML,请使用template.HTMLtype。


查看完整回答
反对 回复 2023-05-08
  • 2 回答
  • 0 关注
  • 111 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信