Java-转义HTML字符,不包括某些字符
我正在尝试转义HTML代码中的特殊字符,但标记(、“、”和&)中使用的字符除外。我尝试搜索现有库(即Java-转义HTML字符,不包括某些字符,java,html,regex,Java,Html,Regex,我正在尝试转义HTML代码中的特殊字符,但标记(、“、”和&)中使用的字符除外。我尝试搜索现有库(即StringEscapeUtils),但所有库也转义,“、”和&-我不想转义的字符 例如,如果我有 <div>— £</div> 在Java中有什么方法可以做到这一点吗?将此类添加到代码中。(该包是必需的,因为代码使用一些包范围的名称。) 现在可以使用 String html = "<div> & — £ \"</div> Fix.esca
StringEscapeUtils
),但所有库也转义,“、”和&-我不想转义的字符
例如,如果我有
<div>— £</div>
在Java中有什么方法可以做到这一点吗?将此类添加到代码中。(该包是必需的,因为代码使用一些包范围的名称。) 现在可以使用
String html = "<div> & — £ \"</div>
Fix.escapeHtml(html)
String html=“&-”“
Fix.escapeHtml(html)
输出:
<div> & — £ "</div>
&&mdash;&mdash;&mdash;&mdash;&mdash
package org.apache.commons.lang;
public class Fix extends Entities {
public static final Entities HTML04;
static {
HTML04 = new Entities();
HTML04.addEntities(ISO8859_1_ARRAY);
HTML04.addEntities(HTML40_ARRAY);
}
public static String escapeHtml(String str) {
if (str == null) {
return null;
}
return HTML04.escape(str);
}
}
String html = "<div> & — £ \"</div>
Fix.escapeHtml(html)
<div> & — £ "</div>