HTML 反转义(unescape)是把字符实体还原成原字符的过程,例如把 <b> 还原为 <b>,把 中 还原为“中”。下面重点说明规则、参数与返回值。
HTML反转义参考手册
- 文本内容中至少转义 & 和 <
- 双引号包裹的属性值中转义 & 和 ",单引号包裹的转义 '
- 放进 <script> 或 URL 中的数据需要用对应上下文的转义方式,HTML 转义不够
- 不要对已经转义的内容重复转义,否则会显示“&lt;”
常见选项:是否转义引号(Python html.escape 的 quote 参数默认 True)、使用名称实体还是数字实体、是否把非 ASCII 字符转成数字实体。PHP htmlspecialchars 建议传 ENT_QUOTES 和 "UTF-8"。
转义函数返回字符串,长度通常变长;不会改变中文和普通字母。
示例
输入:Man
反转义结果:Man
说明:把实体还原为原字符。
注意事项
- 先转义 &,再转义其他字符
- 重复转义会在页面上显示 &
- HTML 转义不能保护 JavaScript、CSS、URL 上下文
- 富文本内容应使用白名单过滤(如 DOMPurify),而不是简单转义
命令行示例
# Python 命令行
python3 -c "import html;print(html.escape('<a href=\"x\">&</a>'))"
# 输出 <a href="x">&</a>
本站的HTML转义工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【 还原成什么?】U+00A0 不换行空格,看起来像空格,但 strip() 等函数不一定会去掉它。
【' 是什么字符?】单引号 '。
【为什么还原后还有 <?】原文被转义了两次,需要再反转义一次。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。