HTML 转义/反转义
HTML 转义/反转义
HTML 转义/反转义支持 HTML 实体的转义与反转义,可处理特殊字符与标签展示,适合用户输入展示、代码示例和内容安全处理。
快速开始
常见使用场景
用户评论
转义用户提交的评论内容,防止 XSS 攻击
博客文章
在文章中显示 HTML 代码示例
论坛帖子
安全显示用户发布的内容
聊天消息
防止恶意代码通过聊天功能传播
表单数据
处理和显示表单提交的数据
代码展示
在网页中展示 HTML/JavaScript 代码片段
补充场景
HTML 实体、转义 HTML、反转义 HTML 也可在同一流程中完成,便于在复制、导出或交付前快速核对结果。
转义规则与实体
使用建议
限制与兼容性
隐私与安全
常见问题
XSS(跨站脚本攻击)是攻击者通过注入恶意脚本到网页中,窃取用户信息或执行恶意操作。HTML 转义是防御 XSS 的基本手段
显示任何用户输入的内容时都需要转义,包括评论、留言、表单数据等。只要内容可能包含 HTML 标签就需要转义
两者都表示 <(小于号)。&lt; 为命名实体(lt=less‑than),&#60;/&#x3C; 为数字/十六进制实体。在现代 HTML 中效果相同:需要可读性时用 &lt;;在不支持命名实体或需表示任意字符/跨标记语言时用 &#60;/&#x3C;。实体末尾的分号要保留(如 &lt;);缺少分号可能与后续字符黏连被错误解析,例如“&notin”会被当成“&not;”+“in”显示为“¬in”
不能。HTML 转义只在 HTML 上下文有效。在 JavaScript、CSS、URL 等上下文中需要不同的转义方法
这是因为内容被转义了两次。第一次 < 变成 &lt;,第二次 & 又被转义成 &amp;,结果变成 &amp;lt;。应避免重复转义
应使用“净化(Sanitization)”而不是仅转义:基于允许列表保留安全标签/属性并过滤协议。建议仅保留 p/br/ul/ol/li/a/strong/em/code/pre/blockquote/h1–h3 等;a 仅允许 href/title/target(协议限 http/https/mailto/tel),img 仅 src/alt;删除 style 与所有 on* 事件。推荐使用 DOMPurify/sanitize‑html 等库,尽量在服务端净化后再渲染;切勿把未净化内容放入 innerHTML/dangerouslySetInnerHTML,纯文本用 textContent