我尝试过不同的方式,但还没有工作。
public String SuEscapeHTML(String text){
text=text.replaceAll("/&/g", "&");
// and how to deal with the double quote? text=text.replaceAll("/"/g", """);
text=text.replaceAll("/'/g", "'");
text=text.replaceAll("/</g", "<");
text=text.replaceAll("/>/g", ">");
text=text.replaceAll("/\\/g", "\");
System.out.println(text);
return text;
}
使用此功能无任何变化。
那么如何让它发挥作用?
答案 0 :(得分:2)
您正在使用的正则表达式的语法是JavaScript。这就是你将如何在Java中实现它
String text = "&>\"<\\'"; //You need to escape " in text also
System.out.println(text.replaceAll("&", "&"));
System.out.println(text.replaceAll("\"", """)); //For quotes
System.out.println(text.replaceAll("'", "'"));
System.out.println(text.replaceAll("<", "<"));
System.out.println(text.replaceAll(">", ">"));
System.out.println(text.replaceAll("\\\\", "\"));
<强> Ideone Demo 强>