safe.HTML
Syntax
safe.HTML INPUT
Returns
template.HTML
Alias
safeHTML
请勿将其用于第三方HTML,或者包含未闭合标签或注释的HTML。
假设有一个全站范围的 hugo.toml
,其中包含以下 copyright
值:
hugo.
copyright: © 2015 Jane Doe. <a href="https://creativecommons.org/licenses/by/4.0/">Some
rights reserved</a>.
copyright = '© 2015 Jane Doe. <a href="https://creativecommons.org/licenses/by/4.0/">Some rights reserved</a>.'
{
"copyright": "© 2015 Jane Doe. \u003ca href=\"https://creativecommons.org/licenses/by/4.0/\"\u003eSome rights reserved\u003c/a\u003e."
}
在模板中使用 {{ .Site.Copyright | safeHTML }}
将会输出:
© 2015 Jane Doe. <a href="https://creativecommons.org/licenses/by/4.0/">Some rights reserved</a>.
然而,如果没有使用 safeHTML
函数,html/template 将假定 .Site.Copyright
为不安全,并因此对所有的HTML标签进行转义,并将整个字符串渲染为纯文本:
<p>© 2015 Jane Doe. <a href="https://creativecommons.org/licenses by/4.0/">Some rights reserved</a>.</p>