diff options
author | David Hook <dgh@cryptoworkshop.com> | 2013-05-31 11:07:45 +0400 |
---|---|---|
committer | David Hook <dgh@cryptoworkshop.com> | 2013-05-31 11:07:45 +0400 |
commit | 2b976f5364cfdbc37d3086019d93483c983eb80b (patch) | |
tree | cb846af3fd1d43f9c2562a1fb2d06b997ad8f229 /core/src/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java | |
parent | 5f714bd92fbd780d22406f4bc3681be005f6f04a (diff) |
initial reshuffle
Diffstat (limited to 'core/src/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java')
-rw-r--r-- | core/src/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/core/src/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java b/core/src/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java new file mode 100644 index 00000000..b9904bc7 --- /dev/null +++ b/core/src/main/java/org/bouncycastle/i18n/filter/HTMLFilter.java @@ -0,0 +1,68 @@ + +package org.bouncycastle.i18n.filter; + +/** + * HTML Filter + */ +public class HTMLFilter implements Filter +{ + + public String doFilter(String input) + { + StringBuffer buf = new StringBuffer(input); + int i = 0; + while (i < buf.length()) + { + char ch = buf.charAt(i); + switch (ch) + { + case '<': + buf.replace(i,i+1,"<"); + break; + case '>': + buf.replace(i,i+1,">"); + break; + case '(': + buf.replace(i,i+1,"("); + break; + case ')': + buf.replace(i,i+1,")"); + break; + case '#': + buf.replace(i,i+1,"#"); + break; + case '&': + buf.replace(i,i+1,"&"); + break; + case '\"': + buf.replace(i,i+1,"""); + break; + case '\'': + buf.replace(i,i+1,"'"); + break; + case '%': + buf.replace(i,i+1,"%"); + break; + case ';': + buf.replace(i,i+1,";"); + break; + case '+': + buf.replace(i,i+1,"+"); + break; + case '-': + buf.replace(i,i+1,"-"); + break; + default: + i -= 3; + } + i += 4; + } + return buf.toString(); + } + + public String doFilterUrl(String input) + { + return doFilter(input); + } + +} |