[英]Java - Escape HTML characters excluding some characters
我尝试在HTML代码中转义特殊字符,但标记(<,>,“,”,'和&)中使用的字符除外。我尝试为此搜索现有库(即StringEscapeUtils
),但所有这些库也转义了< ,>,“,”和&-我不想转义的字符。
例如,如果我有
<div>— £</div>
我希望将其转换为
<div>— £</div>
我不想成为
<div>— £</div>
用Java有什么办法吗?
将此类添加到您的代码中。 (该包是必需的,因为代码使用了一些包范围的名称。)
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.