Java、JavaScript:避免转义特定的HTML标签

Java, JavaScript: Avoid escaping particular HTML tags

本文关键字:HTML 标签 转义 JavaScript Java      更新时间:2023-09-26

我使用org.apache.commons.lang.StringEscapeUtils来转义HTML标签:

StringEscapeUtils.escapeHtml(str);

我想要的是避免转义一些特定的标签。例如

<h1>this is h1</h1>
<ul>
<li></li>
<li></li>
</ul>

转义后,除<ul><li>标签外,应将所有<转换为&lt;, >转换为&gt;。这里我不想转义<ul> <li>标签,因为在HTML页面中,我必须将内容显示为列表,所以我需要ul和li。

你不需要一个简单的字符串转义util,这就是你正在使用的。

你需要的是一个HTML杀毒器,就像OWASP Java HTML杀毒器。它允许HTML标签的白名单不转义,例如,您可以使用自定义HTML策略来指定允许的标签,以防默认的消毒程序不能满足您的需要。

其他库也这样做,比如JSoup的清理功能。