fix(过滤): h5标签过滤问题
This commit is contained in:
@@ -36,8 +36,8 @@ public final class HTMLFilter {
|
|||||||
private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)");
|
private static final Pattern P_STRAY_LEFT_ARROW = Pattern.compile("<([^>]*?)(?=<|$)");
|
||||||
private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)");
|
private static final Pattern P_STRAY_RIGHT_ARROW = Pattern.compile("(^|>)([^<]*?)(?=>)");
|
||||||
private static final Pattern P_QUOTE = Pattern.compile("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']");
|
private static final Pattern P_QUOTE = Pattern.compile("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']");
|
||||||
private static final Pattern P_LEFT_ARROW = Pattern.compile("<");
|
// private static final Pattern P_LEFT_ARROW = Pattern.compile("<");
|
||||||
private static final Pattern P_RIGHT_ARROW = Pattern.compile(">");
|
// private static final Pattern P_RIGHT_ARROW = Pattern.compile(">");
|
||||||
private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>");
|
private static final Pattern P_BOTH_ARROWS = Pattern.compile("<>");
|
||||||
private static final ConcurrentMap<String, Pattern> P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>();
|
private static final ConcurrentMap<String, Pattern> P_REMOVE_PAIR_BLANKS = new ConcurrentHashMap<>();
|
||||||
private static final ConcurrentMap<String, Pattern> P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>();
|
private static final ConcurrentMap<String, Pattern> P_REMOVE_SELF_BLANKS = new ConcurrentHashMap<>();
|
||||||
@@ -104,10 +104,12 @@ public final class HTMLFilter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String htmlSpecialChars(String s) {
|
public static String htmlSpecialChars(String s) {
|
||||||
String result = regexReplace(P_QUOTE, """, s);
|
/**
|
||||||
result = regexReplace(P_LEFT_ARROW, "<", result);
|
* String result = regexReplace(P_QUOTE, """, s);
|
||||||
result = regexReplace(P_RIGHT_ARROW, ">", result);
|
* result = regexReplace(P_LEFT_ARROW, "<", result);
|
||||||
return result;
|
* result = regexReplace(P_RIGHT_ARROW, ">", result);
|
||||||
|
*/
|
||||||
|
return regexReplace(P_QUOTE, """, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String filter(String input) {
|
public String filter(String input) {
|
||||||
@@ -118,7 +120,10 @@ public final class HTMLFilter {
|
|||||||
this.debug(" escapeComments: " + s);
|
this.debug(" escapeComments: " + s);
|
||||||
s = this.balanceHTML(s);
|
s = this.balanceHTML(s);
|
||||||
this.debug(" balanceHTML: " + s);
|
this.debug(" balanceHTML: " + s);
|
||||||
s = this.checkTags(s);
|
/**
|
||||||
|
* h5标签过滤问题
|
||||||
|
* s = this.checkTags(s);
|
||||||
|
*/
|
||||||
this.debug(" checkTags: " + s);
|
this.debug(" checkTags: " + s);
|
||||||
s = this.processRemoveBlanks(s);
|
s = this.processRemoveBlanks(s);
|
||||||
this.debug("processRemoveBlanks: " + s);
|
this.debug("processRemoveBlanks: " + s);
|
||||||
|
|||||||
Reference in New Issue
Block a user