tag and ensuring quotes do not break out of the JSON context. HTML entity escaping alone is not sufficient — use JSON.stringify and ensure the string is placed correctly."}}]}

HTML转义/反转义

转义或反转义HTML特殊字符。

开发者工具

如何使用 HTML转义/反转义

  1. 1粘贴您的文本或HTML
  2. 2点击「转义」对HTML实体进行编码,或点击「反转义」进行解码
  3. 3复制或下载结果

关于 HTML转义/反转义

HTML转义/反转义将在HTML中具有特殊含义的字符(&、<、>、"、')转换为其HTML实体等价物(&amp;、&lt;、&gt;、&quot;、&#39;),反之亦然。正确的转义可防止跨站脚本(XSS)攻击并避免在网页中渲染用户内容时出现显示错误。

在构建HTML模板、生成邮件HTML、在浏览器中显示代码片段或将任何文本内容安全插入HTML文档时使用此工具。未能转义用户生成的内容是最常见的Web安全漏洞之一。

所有转义和反转义操作完全在您的浏览器中运行,不涉及任何服务器。

HTML转义/反转义的主要功能

  • 转义五个核心HTML特殊字符:&、<、>、"、'
  • 将HTML实体反转义回原始字符
  • 防止将文本插入HTML时出现XSS漏洞
  • 处理命名实体(&amp;、&lt;、&gt;、&quot;、&#39;)
  • 一键复制已转义和未转义的输出
  • 完全在浏览器中运行——不向任何服务器发送数据
  • 实时即时转换
  • 用于安全渲染代码示例和用户生成内容

支持的格式

输入格式

含有特殊字符的纯文本含有实体引用的HTML代码片段用户生成内容

输出格式

HTML转义文本(实体编码)解码后的纯文本

根据HTML5规范转义五个核心HTML特殊字符。不将扩展Unicode字符编码为命名实体。

示例

转义代码片段以在HTML中显示

使源代码以文本形式呈现,而非被解析为HTML标签。

输入

<div class="box">Hello & World</div>

输出

&lt;div class=&quot;box&quot;&gt;Hello &amp; World&lt;/div&gt;

从数据库记录中反转义HTML实体

将存储的HTML实体转换回可读字符以便编辑。

输入

It&apos;s a &quot;great&quot; day &amp; we&apos;re happy

输出

It's a "great" day & we're happy

常见使用场景

  • 将用户生成的内容安全插入HTML模板以防止XSS
  • 在博客文章中显示代码示例而不被解析为HTML
  • 为HTML邮件模板准备插入文本
  • 解码存储在数据库中的HTML实体以进行编辑
  • 将API响应中包含实体的文本转换为可读字符串
  • 在插入innerHTML调用之前对字符串进行转义

故障排除

实体显示为双重编码,如&amp;amp;

解决方案

文本在再次转义之前已经被转义过。先反转义以获取原始字符。

并非所有特殊字符都被转义

解决方案

此工具转义五个核心HTML字符。&copy;或&nbsp;等扩展实体不在范围内。

反转义不能转换所有实体

解决方案

此工具处理五个核心实体。&rarr;等稀有命名实体可能无法解码。

常见问题

为什么要转义HTML?

<和>等未转义字符会被浏览器解释为HTML标签。不转义用户提交的包含<script>标签的文本可能执行任意JavaScript——即跨站脚本(XSS)攻击。

哪些字符会被转义?

五个核心HTML特殊字符:& → &amp;、< → &lt;、> → &gt;、" → &quot;、' → &#39;。

HTML转义和URL编码有什么区别?

HTML转义将字符转换为HTML实体,用于在HTML内安全渲染。URL编码将字符转换为%XX十六进制格式,用于URL中安全使用。

我应该转义还是净化用户内容?

对于在HTML中显示用户内容为纯文本,转义就足够了。如果需要允许某些HTML标签,请使用可信的HTML净化器库。

HTML转义足以防止XSS吗?

在将文本插入HTML内容时,转义是主要防御手段。但正确的转义策略取决于上下文——JS字符串、HTML属性和URL各需要不同的规则。

&amp;amp; 是什么意思?

&amp;amp; 是双重编码的&符号——在浏览器中显示为&amp;,而不是&。这通常发生在内容被转义两次时。

我的数据会发送到服务器吗?

不会。所有转义和反转义操作都在浏览器中通过JavaScript字符串替换执行。

可以用它来准备HTML中的JSON内容吗?

对于HTML中嵌入的JSON(如在<script>标签内),使用JSON.stringify并确保字符串正确放置。仅HTML实体转义是不够的。