HTML反转义参考手册:规则、参数与返回值

65 0

HTML 反转义(unescape)是把字符实体还原成原字符的过程,例如把 &lt;b&gt; 还原为 <b>,把 &#20013; 还原为“中”。下面重点说明规则、参数与返回值。

HTML反转义参考手册

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

常见选项:是否转义引号(Python html.escape 的 quote 参数默认 True)、使用名称实体还是数字实体、是否把非 ASCII 字符转成数字实体。PHP htmlspecialchars 建议传 ENT_QUOTES 和 "UTF-8"。

转义函数返回字符串,长度通常变长;不会改变中文和普通字母。

示例

输入:Man

反转义结果:Man

说明:把实体还原为原字符。

注意事项

  • 先转义 &,再转义其他字符
  • 重复转义会在页面上显示 &amp;
  • HTML 转义不能保护 JavaScript、CSS、URL 上下文
  • 富文本内容应使用白名单过滤(如 DOMPurify),而不是简单转义

命令行示例

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

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

常见问题

【&nbsp; 还原成什么?】U+00A0 不换行空格,看起来像空格,但 strip() 等函数不一定会去掉它。

【&#39; 是什么字符?】单引号 '。

【为什么还原后还有 &lt;?】原文被转义了两次,需要再反转义一次。

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

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

标签: 文本处理

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