我想在启用 HTML 的 JLabel 中显示不安全的文本(来自用户),例如<html><p>Unsafe user input here</p></html>
. 我应该怎么做才能转义用户提供的字符串数据以适应我的启用 HTML 的环境而不会造成任何麻烦?
问问题
752 次
1 回答
0
基于哪些字符需要在 HTML 上转义?我建议以下代码:
public class SimpleEscaping {
private static final Pattern[] patterns = new Pattern[]{
Pattern.compile("&"),
Pattern.compile("<"),
Pattern.compile(">")
};
private static final String[] replacements = {
"&",
"<",
">"
};
public static String escapeHTML(String input) {
for (int i = 0; i < patterns.length; i++)
input = patterns[i].matcher(input).replaceAll(replacements[i]);
return input;
}
}
于 2015-06-19T14:01:04.957 回答