1 34 package net.myvietnam.mvncore.filter; 35 36 public final class DisableHtmlTagFilter { 37 38 private DisableHtmlTagFilter() { } 40 41 public static String filter(String input) { 42 if (input == null) { 43 return null; 44 } 45 46 char[] s = input.toCharArray(); 47 int length = s.length; 48 StringBuffer ret = new StringBuffer (length + 100); 50 for (int i = 0; i < length; i++) { 51 if (s[i] == '<') { 52 ret.append("<"); 53 } else if (s[i] == '>') { 54 ret.append(">"); 55 } else if (s[i] == '&') { 56 if ( ((i + 3) < length) && 58 (s[i+1] == '#') && 59 (s[i+2]>='0'&&s[i+1]<='9') && 60 (s[i+3]>='0'&&s[i+2]<='9') ) { 61 ret.append(s[i]); 62 } else if ( ((i + 3) < length) && 64 (s[i+1] == 'l') && 65 (s[i+2] == 't') && 66 (s[i+3] == ';') ) { 67 ret.append(s[i]); 68 } else if ( ((i + 3) < length) && 70 (s[i+1] == 'g') && 71 (s[i+2] == 't') && 72 (s[i+3] == ';') ) { 73 ret.append(s[i]); 74 } else if ( ((i + 4) < length) && 76 (s[i+1] == 'a') && 77 (s[i+2] == 'm') && 78 (s[i+3] == 'p') && 79 (s[i+4] == ';') ) { 80 ret.append(s[i]); 81 } else if ( ((i + 5) < length) && 83 (s[i+1] == 'q') && 84 (s[i+2] == 'u') && 85 (s[i+3] == 'o') && 86 (s[i+4] == 't') && 87 (s[i+5] == ';') ) { 88 ret.append(s[i]); 89 } else { 90 ret.append("&"); 91 } 92 } else if (s[i] == '"') { 93 ret.append("""); 94 } else { 95 ret.append(s[i]); 96 } 97 } return ret.toString(); 99 } 100 } 101 | Popular Tags |