KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > forum > Filter


1 package forum;
2
3 public class Filter {
4
5
6     public static String JavaDoc filterAll(String JavaDoc string)
7     {
8         string = filterHtmlTag( string );
9         string = filterBreaks( string );
10         string = filterTextStyle( string );
11         string = filterImage( string );
12         string = filterURL( string );
13         string = filterEmoticons( string );
14         return string;
15     }
16     
17     public static String JavaDoc filterHtmlTag(String JavaDoc string)
18     {
19         if(string == null || string.length() < 1)
20         {
21             return string;
22         }
23         
24         StringBuffer JavaDoc source = new StringBuffer JavaDoc(string);
25         
26         for(int i = 0; i < source.length(); i++)
27         {
28             char c = source.charAt(i);
29             if(c == '>')
30             {
31                 source.replace(i,i+1,"&gt;");
32             }
33             else if(c == '<')
34             {
35                 source.replace(i,i+1,"&lt;");
36             }
37             else if(c == '&')
38             {
39                 source.replace(i,i+1,"&#38;");
40             }
41         }
42
43         
44         return source.toString();
45     }
46
47     public static String JavaDoc filterBreaks(String JavaDoc string)
48     {
49         if(string == null || string.length() < 1)
50         {
51             return string;
52         }
53         
54         StringBuffer JavaDoc source = new StringBuffer JavaDoc(string);
55         
56         for(int i = 0; i < source.length(); i++)
57         {
58             if(source.charAt(i) == '\n')
59             {
60                 source.replace(i,i+1,"<br>");
61             }
62         }
63         
64         return source.toString();
65     }
66
67     public static String JavaDoc filterTextStyle(String JavaDoc string)
68     {
69         if(string == null || string.length() < 1)
70         {
71             return string;
72         }
73
74         StringBuffer JavaDoc source = new StringBuffer JavaDoc(string);
75         
76         char charArray[] = {'B','b','I','i','U','u','S','s'};
77         
78         for(int i = 0; i < source.length(); i++)
79         {
80             if(source.charAt(i) == '[' && source.charAt(i+2) == ']')
81             {
82                 for(int j = 0; j < charArray.length; j++)
83                 {
84                     if(source.charAt(i+1) == charArray[j])
85                     {
86                         source.replace(i,i+3,"<"+ charArray[j] +">");
87                     }
88                 }
89             }
90             else if(source.charAt(i) == '[' && source.charAt(i+1) == '/' && source.charAt(i+3) == ']')
91             {
92                 for(int j = 0; j < charArray.length; j++)
93                 {
94                     if(source.charAt(i+2) == charArray[j])
95                     {
96                         source.replace(i,i+4,"</"+ charArray[j] +">");
97                     }
98                 }
99             }
100         }
101         return source.toString();
102     }
103     
104     public static String JavaDoc filterImage(String JavaDoc string)
105     {
106         if(string == null || string.length() < 1)
107         {
108             return string;
109         }
110         
111         StringBuffer JavaDoc source = new StringBuffer JavaDoc( string );
112     
113         for(int i = 0; i < source.length(); i++)
114         {
115             if(source.charAt(i) == '[')
116             {
117                 for( int j = i+1;j < (source.length());j++)
118                 {
119                     if(source.charAt(j) == ']')
120                     {
121                         String JavaDoc subString = source.substring(i+1,j);
122                         if(subString.equals("IMG") || subString.equals("img"))
123                         {
124                             source.replace(i,j+1,"<img SRC=");
125                         }else if(subString.equals("/IMG") || subString.equals("/img"))
126                         {
127                             source.replace(i,j+1,">");
128                         }
129                     }
130                 }
131
132             }
133         }
134
135
136         return source.toString();
137     }
138
139     public static String JavaDoc filterURL(String JavaDoc string)
140     {
141         if(string == null || string.length() < 1)
142         {
143             return string;
144         }
145         
146         StringBuffer JavaDoc source = new StringBuffer JavaDoc( string );
147     
148         for(int i = 0; i < source.length(); i++)
149         {
150             if(source.charAt(i) == '[')
151             {
152                 for( int j = i+1;j < (source.length());j++)
153                 {
154                     if(source.charAt(j) == ']')
155                     {
156                         String JavaDoc subString = source.substring(i+1,i+5);
157                         if(subString.equals("URL=") || subString.equals("url="))
158                         {
159                             source.replace(i,5,"<a HREF=");
160                             source.replace(j+3,j+4," target=new>");
161                         }else if(subString.equals("/URL") || subString.equals("/URL"))
162                         {
163                             source.replace(i,j+1,"</a>");
164                         }
165                     }
166                 }
167
168             }
169         }
170         return source.toString();
171     }
172     
173     public static String JavaDoc filterEmoticons(String JavaDoc string)
174     {
175         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc( string );
176     
177         for(int i = 0; i < buffer.length(); i++){
178             if(buffer.charAt(i) == ':'){
179                 for( int j = i+1;j < (buffer.length());j++){
180                     if(buffer.charAt(j) == ':'){
181                         String JavaDoc subString = buffer.substring(i+1,j);
182                         if(subString.equals("mellow")){
183                             buffer.replace(i,j+1,"<img SRC=./emoticons/mellow.gif border=0>");
184                         }else if(subString.equals("huh")){
185                             buffer.replace(i,j+1,"<img SRC=./emoticons/huh.gif border=0>");
186                         }else if(subString.equals("rolleyes")){
187                             buffer.replace(i,j+1,"<img SRC=./emoticons/rolleyes.gif border=0>");
188                         }else if(subString.equals("lol")){
189                             buffer.replace(i,j+1,"<img SRC=./emoticons/lol.gif border=0>");
190                         }else if(subString.equals("wub")){
191                             buffer.replace(i,j+1,"<img SRC=./emoticons/wub.gif border=0>");
192                         }else if(subString.equals("angry")){
193                             buffer.replace(i,j+1,"<img SRC=./emoticons/angry.gif border=0>");
194                         }else if(subString.equals("unsure")){
195                             buffer.replace(i,j+1,"<img SRC=./emoticons/unsure.gif border=0>");
196                         }else if(subString.equals("wacko")){
197                             buffer.replace(i,j+1,"<img SRC=./emoticons/wacko.gif border=0>");
198                         }else if(subString.equals("blink")){
199                             buffer.replace(i,j+1,"<img SRC=./emoticons/blink.gif border=0>");
200                         }else if(subString.equals("ph34r")){
201                             buffer.replace(i,j+1,"<img SRC=./emoticons/ph34r.gif border=0>");
202                         }else if(subString.equals("bounce")){
203                             buffer.replace(i,j+1,"<img SRC=./emoticons/bounce.gif border=0>");
204                         }else if(subString.equals("fuck")){
205                             buffer.replace(i,j+1,"<img SRC=./emoticons/fuck.gif border=0>");
206                         }else if(subString.equals("scream")){
207                             buffer.replace(i,j+1,"<img SRC=./emoticons/scream.gif border=0>");
208                         }else if(subString.equals("silly")){
209                             buffer.replace(i,j+1,"<img SRC=./emoticons/silly.gif border=0>");
210                         }else if(subString.equals("frusty")){
211                             buffer.replace(i,j+1,"<img SRC=./emoticons/frusty.gif border=0>");
212                         }else if(subString.equals("kwijl")){
213                             buffer.replace(i,j+1,"<img SRC=./emoticons/kwijl.gif border=0>");
214                         }else if(subString.equals("puke")){
215                             buffer.replace(i,j+1,"<img SRC=./emoticons/puke.gif border=0>");
216                         }else if(subString.equals("bid")){
217                             buffer.replace(i,j+1,"<img SRC=./emoticons/bid.gif border=0>");
218                         }else if(subString.equals("hammer")){
219                             buffer.replace(i,j+1,"<img SRC=./emoticons/hammer.gif border=0>");
220                         }else if(subString.equals("good")){
221                             buffer.replace(i,j+1,"<img SRC=./emoticons/good.gif border=0>");
222                         }
223                     }
224                 }
225             }
226         }
227         return buffer.toString();
228     }
229     
230
231     
232 }
Popular Tags