HTML 实体转义

HTML 实体转义

在文本与 HTML 实体(& < > " ')之间互转

浏览器本地计算

输入原始文本后选择编码;输入实体字符串后选择解码。结果仅作为文本展示,不会执行其中的 HTML。

示例

输入

<p>A & B</p>

示例结果

&lt;p&gt;A &amp; B&lt;/p&gt;

再执行一次解码即可还原文本;结果不会作为 HTML 执行。

技术细节与边界

转义按单次扫描替换,避免同一轮把新生成的 &amp; 再次编码。解码支持 amp、lt、gt、quot、apos 及数字引用,不是完整的 HTML 命名实体词典。HTML 正文、属性、JavaScript 与 URL 的转义规则不同,不能用本工具代替上下文相关的输出处理。

关于此工具

将 &、<、>、双引号和单引号转为 HTML 实体,或还原常见实体与十进制、十六进制字符引用。用于在页面正文、代码示例和模板中展示原始标记;结果以纯文本显示。

适用场景

  • 把用户输入回显到 HTML 之前做转义,避免 XSS。
  • 在博客 / 文档里贴一段 HTML 代码作为示例。
  • 把接口返回的实体字符(`&amp;`、`&lt;`)还原成人可读文本。

操作步骤

  1. 把要处理的文本粘贴到输入框。
  2. 按 Escape 转义为 HTML 实体,或按 Unescape 解码回原文。

注意事项

仅支持五种常用命名实体及数字字符引用,未覆盖的名称如 &nbsp; 会原样保留。

常见问题

为什么要转义 `&`?
因为 `&` 是所有 HTML 实体的开头。不转义会让后续文本被误认为实体,比如 `Tom&Jerry` 被解析成 `Tom<Jerry>`(在旧解析器里)。
单引号需要转义吗?
单引号包裹的 HTML 属性需要转义单引号。其他上下文仍有各自规则,不能将此结果直接当作安全的 JavaScript、CSS 或 URL。
为什么 &amp;lt; 只还原成 &lt;?
它经过了两层编码。本工具一次只还原一层,以免改变用户本来就想保留的实体文本。
为什么多转义一次后出现 &amp;amp;?
第二次编码会继续转义第一次结果中的 &,形成重复转义。先确认输入是原文还是已编码文本;需要继续处理时可把结果回填到输入框。

相关工具

HTML 实体转义 · 在文本与 HTML 实体(&amp; &lt; &gt; &quot; &#39;)之间互转
HTML 实体转义 — 工具示意图 · dayeku.com