org.bouncycastle.i18n.filter.HTMLFilter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcprov-jdk15on Show documentation
Show all versions of bcprov-jdk15on Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 and up.
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);
}
}