CSSFilter.java
上传用户:toby834
上传日期:2013-10-21
资源大小:2613k
文件大小:2k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package net.acai.filter;
  2. import java.util.regex.*;
  3. /**
  4.  * Title:        清清网络
  5.  * Description:
  6.  * Copyright:    Copyright (c) 2002
  7.  * Company:      www.SuperSpace.com
  8.  * @author:       SuperSpace
  9.  * @version 1.0
  10.  */
  11. public class CSSFilter extends filter {
  12.   public CSSFilter(String s) {
  13.     super(s);
  14.   }
  15.   public CSSFilter() {
  16.   }
  17.   public String convertString(){
  18.     return this.getTextFilter();
  19.   }
  20.   public String getTextFilter(){
  21.     String tempString=s;
  22.     for(int i=0;i<4;i++)
  23.       tempString=CSSConverter(tempString);
  24.     return tempString;
  25.   }
  26.   public String CSSConverter(String s){
  27.             Pattern p;
  28.             Matcher m;
  29.             StringBuffer sb;
  30.             boolean result;
  31.             String reg="(\[QUOTE\])(.*)(\[\/QUOTE\])|"+
  32.               "(\[move\])(.*)(\[\/move\])|"+
  33.               "\[(GLOW)=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/GLOW]|"+
  34.               "\[(SHADOW)=*([0-9]*),*(#*[a-z0-9]*),*([0-9]*)\](.[^\[]*)\[\/SHADOW]";
  35.     p = Pattern.compile(reg,
  36.         Pattern.CASE_INSENSITIVE);
  37.     m = p.matcher(s);
  38.     sb = new StringBuffer();
  39.     result = m.find();
  40.     while(result&&m.group(0)!=null) {
  41.       if(m.group(1)!=null)
  42.               m.appendReplacement(sb,"<table cellpadding=0 cellspacing=0 border=0 WIDTH=94% bgcolor=#000000 align=center><tr><td><table width=100% cellpadding=5 cellspacing=1 border=0><TR><TD BGCOLOR='#cccccc'>"+m.group(2)+"</table></table><br>");
  43.       else if(m.group(4)!=null)
  44.               m.appendReplacement(sb,"<MARQUEE scrollamount=3>"+m.group(5)+"</marquee>");
  45.       else if(m.group(7)!=null)
  46.               m.appendReplacement(sb,"<table width="+m.group(8)+" style="filter:glow(color="+m.group(9)+", strength="+m.group(10)+")">"+m.group(11)+"</table>");
  47.       else if(m.group(12)!=null)
  48.               m.appendReplacement(sb,"<table width="+m.group(13)+" style="filter:shadow(color="+m.group(14)+", strength="+m.group(15)+")">"+m.group(16)+"</table>");
  49.       result = m.find();
  50.     }
  51.     m.appendTail(sb);
  52.     return sb.toString();
  53.   }
  54. }