1 2 package forum; 3 4 public class FilterBack { 5 6 7 public static String filterAll(String string) 8 { 9 string = filterBreak(string); 10 string = filterTextStyle(string); 11 string = filterEmoticons(string); 14 15 return string; 16 } 17 18 public static String filterBreak(String string) 19 { 20 if(string == null || string.length() < 1) 21 { 22 return string; 23 } 24 25 StringBuffer source = new StringBuffer (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 filterTextStyle(String string) 41 { 42 if(string == null || string.length() < 1) 43 { 44 return string; 45 } 46 47 StringBuffer source = new StringBuffer (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 filterImage(String string) 78 { 79 if(string == null || string.length() < 1) 80 { 81 return string; 82 } 83 84 StringBuffer source = new StringBuffer ( 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 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 filterURL(String string) 111 { 112 if(string == null || string.length() < 1) 113 { 114 return string; 115 } 116 117 StringBuffer source = new StringBuffer ( 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 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 } 142 } 143 } 144 145 } 146 } 147 return source.toString(); 148 } 149 150 public static String filterEmoticons(String string) 151 { 152 StringBuffer source = new StringBuffer ( 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 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 |