HTML 反转义(unescape)是把字符实体还原成原字符的过程,例如把 <b> 还原为 <b>,把 中 还原为“中”。下面重点说明概念、原理与常见用途。
HTML反转义是什么
HTML 反转义(unescape)是把字符实体还原成原字符的过程,例如把 <b> 还原为 <b>,把 中 还原为“中”。浏览器显示网页时会自动做这一步,程序处理抓取的 HTML 文本时需要手动反转义。
- 支持名称实体(&)、十进制实体(&)和十六进制实体(&)
- HTML5 定义了 2000 多个名称实体
- 反转义后的内容如果再输出到网页,必须重新转义
示例
输入:123问
反转义结果:123问
说明:把实体还原为原字符。
工作原理
反转义函数扫描“&…;”形式的片段:名称实体查表,数字实体把数值当作 Unicode 码点转成字符。例如 中 的码点是 0x4E2D,对应“中”。
规则说明
- 文本内容中至少转义 & 和 <
- 双引号包裹的属性值中转义 & 和 ",单引号包裹的转义 '
- 放进 <script> 或 URL 中的数据需要用对应上下文的转义方式,HTML 转义不够
- 不要对已经转义的内容重复转义,否则会显示“&lt;”
本站的HTML转义工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【反转义后的内容能直接输出到网页吗?】不能。如果含用户输入,必须重新转义,否则有 XSS 风险。
【 还原成什么?】U+00A0 不换行空格,看起来像空格,但 strip() 等函数不一定会去掉它。
【' 是什么字符?】单引号 '。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理