HTML 实体转义
在文本与 HTML 实体(& < > " ')之间互转
输入原始文本后选择编码;输入实体字符串后选择解码。结果仅作为文本展示,不会执行其中的 HTML。
示例
输入
<p>A & B</p>
示例结果
<p>A & B</p>
再执行一次解码即可还原文本;结果不会作为 HTML 执行。
技术细节与边界
转义按单次扫描替换,避免同一轮把新生成的 & 再次编码。解码支持 amp、lt、gt、quot、apos 及数字引用,不是完整的 HTML 命名实体词典。HTML 正文、属性、JavaScript 与 URL 的转义规则不同,不能用本工具代替上下文相关的输出处理。
关于此工具
将 &、<、>、双引号和单引号转为 HTML 实体,或还原常见实体与十进制、十六进制字符引用。用于在页面正文、代码示例和模板中展示原始标记;结果以纯文本显示。
适用场景
- 把用户输入回显到 HTML 之前做转义,避免 XSS。
- 在博客 / 文档里贴一段 HTML 代码作为示例。
- 把接口返回的实体字符(`&`、`<`)还原成人可读文本。
操作步骤
- 把要处理的文本粘贴到输入框。
- 按 Escape 转义为 HTML 实体,或按 Unescape 解码回原文。
注意事项
仅支持五种常用命名实体及数字字符引用,未覆盖的名称如 会原样保留。
常见问题
- 为什么要转义 `&`?
- 因为 `&` 是所有 HTML 实体的开头。不转义会让后续文本被误认为实体,比如 `Tom&Jerry` 被解析成 `Tom<Jerry>`(在旧解析器里)。
- 单引号需要转义吗?
- 单引号包裹的 HTML 属性需要转义单引号。其他上下文仍有各自规则,不能将此结果直接当作安全的 JavaScript、CSS 或 URL。
- 为什么 &lt; 只还原成 <?
- 它经过了两层编码。本工具一次只还原一层,以免改变用户本来就想保留的实体文本。
- 为什么多转义一次后出现 &amp;?
- 第二次编码会继续转义第一次结果中的 &,形成重复转义。先确认输入是原文还是已编码文本;需要继续处理时可把结果回填到输入框。
相关工具