01: package org.bouncycastle.i18n.filter;
02:
03: /**
04: * HTML Filter
05: */
06: public class HTMLFilter implements Filter {
07:
08: public String doFilter(String input) {
09: StringBuffer buf = new StringBuffer(input);
10: int i = 0;
11: while (i < buf.length()) {
12: char ch = buf.charAt(i);
13: switch (ch) {
14: case '<':
15: buf.replace(i, i + 1, "<");
16: break;
17: case '>':
18: buf.replace(i, i + 1, ">");
19: break;
20: case '(':
21: buf.replace(i, i + 1, "(");
22: break;
23: case ')':
24: buf.replace(i, i + 1, ")");
25: break;
26: case '#':
27: buf.replace(i, i + 1, "#");
28: break;
29: case '&':
30: buf.replace(i, i + 1, "&");
31: break;
32: case '\"':
33: buf.replace(i, i + 1, """);
34: break;
35: case '\'':
36: buf.replace(i, i + 1, "'");
37: break;
38: case '%':
39: buf.replace(i, i + 1, "%");
40: break;
41: case ';':
42: buf.replace(i, i + 1, ";");
43: break;
44: case '+':
45: buf.replace(i, i + 1, "+");
46: break;
47: case '-':
48: buf.replace(i, i + 1, "-");
49: break;
50: default:
51: i -= 3;
52: }
53: i += 4;
54: }
55: return buf.toString();
56: }
57:
58: public String doFilterUrl(String input) {
59: return doFilter(input);
60: }
61:
62: }
|