URLFilter.java
上传用户:yuyunping
上传日期:2013-03-21
资源大小:1844k
文件大小:1k
源码类别:

Java书籍

开发平台:

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 URLFilter extends filter {
  12.   public URLFilter(String s) {
  13.     super(s);
  14.   }
  15.   public URLFilter() {
  16.   }
  17.   public String convertString(){
  18.     return this.URLConverter();
  19.   }
  20.   public String URLConverter(){
  21.   Pattern p = Pattern.compile("(\[(URL)((=(((http://)|(ftp://))?)([^\[]*))?)\])((((http://)|(ftp://))?)([^\[]*))(\[(\/URL)\])",
  22.             Pattern.CASE_INSENSITIVE);
  23.         Matcher m = p.matcher(s);
  24.         StringBuffer sb = new StringBuffer();
  25.         boolean result = m.find();
  26.         while(result) {
  27.     m.appendReplacement(sb,"<a href="");
  28.             if(!"".equals(m.group(3))){
  29. if("".equals(m.group(5)))
  30. if(m.group(10)==null)
  31. sb.append("http://"+m.group(9)+"">"+m.group(9)+"</a>");
  32. else
  33. sb.append("http://"+m.group(9)+"">"+m.group(10)+"</a>");
  34. else
  35. if(m.group(10)==null)
  36. sb.append(m.group(5)+m.group(9)+"">"+m.group(5)+m.group(9)+"</a>");
  37. else
  38. sb.append(m.group(5)+m.group(9)+"">"+m.group(10)+"</a>");
  39. }
  40. else{
  41. if("".equals(m.group(11)))
  42. sb.append("http://"+m.group(10)+"">"+m.group(10)+"</a>");
  43. else
  44. sb.append(m.group(10)+"">"+m.group(10)+"</a>");
  45. }
  46.  result = m.find();
  47.         }
  48.         m.appendTail(sb);
  49.         return sb.toString();
  50.   }
  51. }