最好用一个例子来问这个问题:
首先,让我们在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!"
对不起,如果我不太清楚,我不是说英语的人
感谢您的帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
“安全”是Go中HTML模板的默认模式。
如果您的变量带有特殊的HTML字符,则会在输出时对它们进行转义,使其完全安全。但是,这与剥离HTML标签不同,您的示例似乎这样做了。如果要剥离HTML标签,而不是转义HTML字符,则需要编写自己的函数。
如果要禁用安全行为并输出原始HTML,请使用template.HTML
类型。