第 1 课

什么是 HTML Entity

理解字符引用以及 HTML 为何需要转义。

HTML Entity(更准确地说是 字符引用)是一种用转义序列表示字符的方式,而不是直接写入字面字符。最常见的形式以 & 开头、以 ; 结尾,例如 &lt; 表示 <&copy; 表示 ©。

HTML 为什么需要转义

HTML 用 <> 界定标签。如果未经转义就把 <script> 插入页面,浏览器可能将其解析为标记。转义会把 < 变成 &lt;,让浏览器显示字符本身,而不是开启一个新标签。

同样适用于:

  • 和号&)——必须先转义,否则 &copy; 可能被错误解析
  • 属性中的引号——属性值里的 "'
  • 特殊符号——©、不换行空格、数学符号等

实体不是加密

编码不会隐藏含义。任何人都可以把 Tom &amp; Jerry 解码回 Tom & Jerry。目标是 安全插入 HTML,而不是保密。

开发中常见来源

  • CMS 导出时为存储或邮件模板而转义的内容
  • 服务端模板引擎的自动转义输出
  • JSON 或日志字段里预转义的片段
  • 从 Word 或富文本编辑器复制来的智能引号与符号

解码 vs 渲染

解码实体字符串得到的是 文本。把这段文本插入 HTML 页面是另一步操作。不要假设「解码」就等于「可以安全 innerHTML」。

想动手练习时,可使用 DevCove 相关工具——可选,不属于本课正文。

打开相关工具

返回课程概览