分享

Java中过滤敏感词

 CevenCheng 2011-01-27

在发表评论,文章时常常需要过滤一些敏感词...

把自己的拿出来晒晒

1.写个过滤的类:

Java代码 
  1. import java.io.IOException;  
  2. import java.io.InputStream;  
  3. import java.util.Enumeration;  
  4. import java.util.Properties;  
  5. import java.util.regex.Pattern;  
  6. import java.util.regex.Matcher;  
  7.   
  8. public class KeyWordFilter {  
  9.   
  10.         private static Pattern pattern = null;  
  11.           
  12.         public static void initPattern(){  
  13.             StringBuffer patternBuf = new StringBuffer("");  
  14.             try{  
  15.                 InputStream in = KeyWordFilter.class.getClassLoader().getResourceAsStream("word.properties");  
  16.                 Properties pro = new Properties();  
  17.                 pro.load(in);  
  18.                 Enumeration enu = pro.propertyNames();   
  19.                 while(enu.hasMoreElements()){  
  20.                     patternBuf.append((String)enu.nextElement()+"|");  
  21.                 }  
  22.                 patternBuf.deleteCharAt(patternBuf.length()-1);  
  23.                 pattern = Pattern.compile(new String(patternBuf.toString().getBytes("ISO-8859-1"), "UTF-8"),Pattern.CASE_INSENSITIVE); //编译一个正则表达式,同时生成Pattern  
  24.             }catch(IOException ioEx){  
  25.                 ioEx.printStackTrace();  
  26.             }  
  27.         }  
  28.         public static String doFilter(String str){  
  29.             try {  
  30.                 Matcher m = pattern.matcher(str); //匹配到得用去掉  
  31.                 str = m.replaceAll("*");  
  32.             }catch (Exception e){  
  33.                 e.printStackTrace();  
  34.             }  
  35.             return str;  
  36.         }  
  37. }  

 2.在控制层进行操作,即action类中,在需要的方法中进行调用

Java代码 
  1. KeyWordFilter.initPattern();  
  2.     String newContent=KeyWordFilter.doFilter(content);  

 其中content就是显示层传递的参数(需要过滤的)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多