我正在尝试在HTML代码中转义特殊字符,但标记中使用的字符除外(<,>,“,”和&)。我尝试搜索现有的库(即StringEscapeUtils
)为此,但所有这些也逃脱<,>,“,'和& - 我不想逃避的角色。
例如,如果我有
<div>— £</div>
我希望将其转换为
<div>— £</div>
我不希望它成为
<div>— £</div>
有没有办法在Java中做到这一点?
答案 0 :(得分:0)
将此类添加到您的代码中。 (包是必需的,因为代码使用一些包范围的名称。)
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);
}
}
现在可以使用
在没有<, >, &, "
的情况下转义HTML
String html = "<div> & — £ \"</div>
Fix.escapeHtml(html)
输出:
<div> & — £ "</div>