transform

transform.XMLEscape

返回删除不允许的字符后再转义为对应 XML 形式的给定字符串。

签名
transform.XMLEscape INPUT
返回类型
string

transform.XMLEscape 函数先删除 XML 规范中定义的不允许的字符,再把结果中的以下字符替换为 HTML 实体来完成转义:

  • " → "
  • ' → '
  • & → &
  • < → &lt;
  • > → &gt;
  • \t → &#x9;
  • \n → &#xA;
  • \r → &#xD;

例如:

{{ transform.XMLEscape "<p>abc</p>" }} → &lt;p&gt;abc&lt;/p&gt;

在由 Go 的 html/template 包渲染的模板中使用 transform.XMLEscape 时,请把该字符串声明为安全 HTML,以免二次转义。例如在 RSS 模板中:

layouts/rss.xml
<description>{{ .Summary | transform.XMLEscape | safeHTML }}</description>