HTML 转义是把在 HTML 中有特殊含义的字符替换成字符实体,使浏览器把它们当作普通文字显示,而不是解析成标签。下面重点说明选择建议。
HTML转义和同类方案怎么选
输出到 HTML 正文和属性用 HTML 转义;拼进网址参数用 URL 编码;嵌入 <script> 的 JSON 用 JSON 编码并转义“</”。视图渲染引擎(如 Jinja2、Twig、React JSX)默认会自动转义,优先使用。
HTML 转义解决“在 HTML 中显示特殊字符”;URL 编码解决“在网址中传输特殊字符”;JavaScript 字符串转义(\n、\")解决“在 JS 代码中写字符串”。三者针对不同上下文,不能互相替代。
示例
输入:中文
转义结果:中文
说明:替换 & < > " ' 为实体,其余字符不变。
工作原理
转义函数逐个检查字符,命中特殊字符就替换为对应实体:先替换 &,再替换 < > " '。浏览器渲染时遇到实体会显示为对应字符,但不会把它当作标签或属性边界。
Java 示例
下面是 Java 中处理HTML转义的常用写法:
// Apache Commons Text
import org.apache.commons.text.StringEscapeUtils;
String s = StringEscapeUtils.escapeHtml4("<b>A&B</b>"); // <b>A&B</b>运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的HTML转义工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【 是什么?】不换行空格(U+00A0),浏览器不会把多个 合并成一个。
【为什么页面显示了 &lt;?】内容被转义了两次。
【单引号要转义吗?】属性用单引号包裹时必须转义;为了安全,转义函数通常一并处理。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理