HTML转义详解:原理、规则与易错点

64 0

HTML 转义是把在 HTML 中有特殊含义的字符替换成字符实体,使浏览器把它们当作普通文字显示,而不是解析成标签。下面重点说明原理、规则与易错点。

HTML转义详解

转义函数逐个检查字符,命中特殊字符就替换为对应实体:先替换 &,再替换 < > " '。浏览器渲染时遇到实体会显示为对应字符,但不会把它当作标签或属性边界。

  • 文本内容中至少转义 & 和 <
  • 双引号包裹的属性值中转义 & 和 ",单引号包裹的转义 '
  • 放进 <script> 或 URL 中的数据需要用对应上下文的转义方式,HTML 转义不够
  • 不要对已经转义的内容重复转义,否则会显示“&amp;lt;”

示例

输入:https://www.123wen.cn/?q=测试

转义结果:https://www.123wen.cn/?q=测试

说明:替换 & < > " ' 为实体,其余字符不变。

命令行示例

# Python 命令行
python3 -c "import html;print(html.escape('<a href=\"x\">&</a>'))"
# 输出 <a href="x">&</a>

中文的处理

中文字符不需要 HTML 转义;如果页面编码不是 UTF-8,也可以写成数字实体,例如“中”= &#20013;(十六进制 &#x4E2D;)。

本站的HTML转义工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【单引号要转义吗?】属性用单引号包裹时必须转义;为了安全,转义函数通常一并处理。

【HTML 转义能防 XSS 吗?】在 HTML 正文和加引号的属性中可以有效防御;在 <script>、事件属性、URL 等上下文还需要对应的编码。

【中文需要转义吗?】不需要。页面声明 UTF-8 后可直接写中文。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 文本处理

抱歉,评论功能暂时关闭!