KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > forum > FilterBack


1
2 package forum;
3
4 public class FilterBack {
5     
6     
7     public static String JavaDoc filterAll(String JavaDoc string)
8     {
9         string = filterBreak(string);
10         string = filterTextStyle(string);
11         //string = filterImage(string);
12
//string = filterURL(string);
13
string = filterEmoticons(string);
14         
15         return string;
16     }
17     
18     public static String JavaDoc filterBreak(String JavaDoc string)
19     {
20         if(string == null || string.length() < 1)
21         {
22             return string;
23         }
24         
25         StringBuffer JavaDoc source = new StringBuffer JavaDoc(string);
26         
27         for(int i = 0; i < source.length(); i++)
28         {
29             if(source.charAt(i) == '<')
30             {
31                 if(source.charAt(i+1) == 'b' && source.charAt(i+2) =='r' && source.charAt(i+3) =='>')
32                 {
33                     source.replace(i,i+4,"\n");
34                 }
35             }
36         }
37         return source.toString();
38     }
39
40     public static String JavaDoc filterTextStyle(String JavaDoc string)
41     {
42         if(string == null || string.length() < 1)
43         {
44             return string;
45         }
46
47         StringBuffer JavaDoc source = new StringBuffer JavaDoc(string);
48         
49         char charArray[] = {'B','b','I','i','U','u','S','s'};
50         
51         for(int i = 0; i < source.length(); i++)
52         {
53             if(source.charAt(i) == '<' && source.charAt(i+2) == '>')
54             {
55                 for(int j = 0; j < charArray.length; j++)
56                 {
57                     if(source.charAt(i+1) == charArray[j])
58                     {
59                         source.replace(i,i+3,"["+ charArray[j] +"]");
60                     }
61                 }
62             }
63             else if(source.charAt(i) == '<' && source.charAt(i+1) == '/' && source.charAt(i+3) == '>')
64             {
65                 for(int j = 0; j < charArray.length; j++)
66                 {
67                     if(source.charAt(i+2) == charArray[j])
68                     {
69                         source.replace(i,i+4,"[/"+ charArray[j] +"]");
70                     }
71                 }
72             }
73         }
74         return source.toString();
75     }
76
77     public static String JavaDoc filterImage(String JavaDoc string)
78     {
79         if(string == null || string.length() < 1)
80         {
81             return string;
82         }
83         
84         StringBuffer JavaDoc source = new StringBuffer JavaDoc( string );
85     
86         for(int i = 0; i < source.length(); i++)
87         {
88             if(source.charAt(i) == '<')
89             {
90                 for( int j = i+1;j < (source.length());j++)
91                 {
92                     if(source.charAt(j) == '>')
93                     {
94                         String JavaDoc subString = source.substring(i+1,i+8);
95                         if(subString.equals("img SRC="))
96                         {
97                             source.replace(i,j+1,"[IMG]");
98                             source.replace(j,j+1,"[/IMG]");
99                         }
100                     }
101                 }
102
103             }
104         }
105
106
107         return source.toString();
108     }
109
110     public static String JavaDoc filterURL(String JavaDoc string)
111     {
112         if(string == null || string.length() < 1)
113         {
114             return string;
115         }
116         
117         StringBuffer JavaDoc source = new StringBuffer JavaDoc( string );
118     
119         for(int i = 0; i < source.length(); i++)
120         {
121             if(source.charAt(i) == '<')
122             {
123                 for( int j = i+1;j < source.length();j++)
124                 {
125                     if(source.charAt(j) == '>')
126                     {
127                         
128                         if(source.substring(i+1,i+8).equals("a HREF="))
129                         {
130                             source.replace(i,i+8,"[URL=");
131                             source.replace(j-9,j-2,"]");
132                             //source.append("|ok");
133

134                         }else if(source.substring(i+1,j).equals("/a"))
135                         {
136                             source.replace(i,j+1,"[/URL]");
137                             
138                         }else{
139                             source.append("|12345678");
140                             //source.append("|" + source.substring(i+1,i+2));
141
}
142                     }
143                 }
144
145             }
146         }
147         return source.toString();
148     }
149     
150     public static String JavaDoc filterEmoticons(String JavaDoc string)
151     {
152         StringBuffer JavaDoc source = new StringBuffer JavaDoc( string );
153     
154         for(int i = 0; i < source.length(); i++){
155             if(source.charAt(i) == '<'){
156                 for( int j = i+1;j < (source.length());j++){
157                     if(source.charAt(j) == '>'){
158                         String JavaDoc subString = source.substring(i+1,j);
159                         if(subString.equals("img SRC=./emoticons/mellow.gif border=0")){
160                             source.replace(i,j+1,":mellow:");
161                         }else if(subString.equals("img SRC=./emoticons/huh.gif border=0")){
162                             source.replace(i,j+1,":huh:");
163                         }else if(subString.equals("img SRC=./emoticons/rolleyes.gif border=0")){
164                             source.replace(i,j+1,":rolleyes:");
165                         }else if(subString.equals("img SRC=./emoticons/lol.gif border=0")){
166                             source.replace(i,j+1,":lol:");
167                         }else if(subString.equals("img SRC=./emoticons/wub.gif border=0")){
168                             source.replace(i,j+1,":wub:");
169                         }else if(subString.equals("img SRC=./emoticons/angry.gif border=0")){
170                             source.replace(i,j+1,":angry:");
171                         }else if(subString.equals("img SRC=./emoticons/unsure.gif border=0")){
172                             source.replace(i,j+1,":unsure:");
173                         }else if(subString.equals("img SRC=./emoticons/wacko.gif border=0")){
174                             source.replace(i,j+1,":wacko:");
175                         }else if(subString.equals("img SRC=./emoticons/blink.gif border=0")){
176                             source.replace(i,j+1,":blink:");
177                         }else if(subString.equals("img SRC=./emoticons/ph34r.gif border=0")){
178                             source.replace(i,j+1,":ph34r:");
179                         }else if(subString.equals("img SRC=./emoticons/bounce.gif border=0")){
180                             source.replace(i,j+1,":bounce:");
181                         }else if(subString.equals("img SRC=./emoticons/fuck.gif border=0")){
182                             source.replace(i,j+1,":fuck:");
183                         }else if(subString.equals("img SRC=./emoticons/scream.gif border=0")){
184                             source.replace(i,j+1,":scream.gif:");
185                         }else if(subString.equals("img SRC=./emoticons/silly.gif border=0")){
186                             source.replace(i,j+1,":silly:");
187                         }else if(subString.equals("img SRC=./emoticons/frusty.gif border=0")){
188                             source.replace(i,j+1,":frusty:");
189                         }else if(subString.equals("img SRC=./emoticons/kwijl.gif border=0")){
190                             source.replace(i,j+1,":kwijl:");
191                         }else if(subString.equals("img SRC=./emoticons/puke.gif border=0")){
192                             source.replace(i,j+1,":puke:");
193                         }else if(subString.equals("img SRC=./emoticons/bid.gif border=0")){
194                             source.replace(i,j+1,":bid:");
195                         }else if(subString.equals("img SRC=./emoticons/hammer.gif border=0")){
196                             source.replace(i,j+1,":hammer:");
197                         }else if(subString.equals("img SRC=./emoticons/good.gif border=0")){
198                             source.replace(i,j+1,":good:");
199                         }
200                     }
201                 }
202                 
203             }
204         }
205         return source.toString();
206     }
207     
208     
209 }
Popular Tags