HTML转义/反转义
转义或反转义HTML特殊字符。
如何使用 HTML转义/反转义
- 1粘贴您的文本或HTML
- 2点击「转义」对HTML实体进行编码,或点击「反转义」进行解码
- 3复制或下载结果
关于 HTML转义/反转义
HTML转义/反转义将在HTML中具有特殊含义的字符(&、<、>、"、')转换为其HTML实体等价物(&、<、>、"、'),反之亦然。正确的转义可防止跨站脚本(XSS)攻击并避免在网页中渲染用户内容时出现显示错误。
在构建HTML模板、生成邮件HTML、在浏览器中显示代码片段或将任何文本内容安全插入HTML文档时使用此工具。未能转义用户生成的内容是最常见的Web安全漏洞之一。
所有转义和反转义操作完全在您的浏览器中运行,不涉及任何服务器。
HTML转义/反转义的主要功能
- 转义五个核心HTML特殊字符:&、<、>、"、'
- 将HTML实体反转义回原始字符
- 防止将文本插入HTML时出现XSS漏洞
- 处理命名实体(&、<、>、"、')
- 一键复制已转义和未转义的输出
- 完全在浏览器中运行——不向任何服务器发送数据
- 实时即时转换
- 用于安全渲染代码示例和用户生成内容
支持的格式
输入格式
输出格式
根据HTML5规范转义五个核心HTML特殊字符。不将扩展Unicode字符编码为命名实体。
示例
转义代码片段以在HTML中显示
使源代码以文本形式呈现,而非被解析为HTML标签。
输入
<div class="box">Hello & World</div>
输出
<div class="box">Hello & World</div>
从数据库记录中反转义HTML实体
将存储的HTML实体转换回可读字符以便编辑。
输入
It's a "great" day & we're happy
输出
It's a "great" day & we're happy
常见使用场景
- 将用户生成的内容安全插入HTML模板以防止XSS
- 在博客文章中显示代码示例而不被解析为HTML
- 为HTML邮件模板准备插入文本
- 解码存储在数据库中的HTML实体以进行编辑
- 将API响应中包含实体的文本转换为可读字符串
- 在插入innerHTML调用之前对字符串进行转义
故障排除
实体显示为双重编码,如&amp;
解决方案
文本在再次转义之前已经被转义过。先反转义以获取原始字符。
并非所有特殊字符都被转义
解决方案
此工具转义五个核心HTML字符。©或 等扩展实体不在范围内。
反转义不能转换所有实体
解决方案
此工具处理五个核心实体。→等稀有命名实体可能无法解码。
常见问题
为什么要转义HTML?
<和>等未转义字符会被浏览器解释为HTML标签。不转义用户提交的包含<script>标签的文本可能执行任意JavaScript——即跨站脚本(XSS)攻击。
哪些字符会被转义?
五个核心HTML特殊字符:& → &、< → <、> → >、" → "、' → '。
HTML转义和URL编码有什么区别?
HTML转义将字符转换为HTML实体,用于在HTML内安全渲染。URL编码将字符转换为%XX十六进制格式,用于URL中安全使用。
我应该转义还是净化用户内容?
对于在HTML中显示用户内容为纯文本,转义就足够了。如果需要允许某些HTML标签,请使用可信的HTML净化器库。
HTML转义足以防止XSS吗?
在将文本插入HTML内容时,转义是主要防御手段。但正确的转义策略取决于上下文——JS字符串、HTML属性和URL各需要不同的规则。
&amp; 是什么意思?
&amp; 是双重编码的&符号——在浏览器中显示为&,而不是&。这通常发生在内容被转义两次时。
我的数据会发送到服务器吗?
不会。所有转义和反转义操作都在浏览器中通过JavaScript字符串替换执行。
可以用它来准备HTML中的JSON内容吗?
对于HTML中嵌入的JSON(如在<script>标签内),使用JSON.stringify并确保字符串正确放置。仅HTML实体转义是不够的。