怎么用java写过滤 html标记的方法?

解决方案 »

  1.   

    是过滤<>还是所有HTML标记?
      

  2.   

    自己参考参考  “”没过滤public String htmcode(String str)
    {
       String code=str!=null?str:"";
       try
       {   
           while(code.indexOf("<")!=-1&&code.indexOf("<")!=-1)
           {
           StringBuffer sb=new StringBuffer(code);
           code=sb.replace(code.indexOf("<"),code.indexOf("<")+1,"&lt;").toString();
           code=sb.replace(code.indexOf(">"),code.indexOf(">")+1,"&gt;").toString();
           }
           return code;
       }catch(Exception e){System.out.print("htmcode.err");return code;}
    }
      

  3.   

    用JAVA的DOCUMENT对象直接可以解析HTML文档
      

  4.   

    public static String htmltotxt(String html) {
            if (html != null) {
                html = html.replaceAll("&", "&amp;");
                html = html.replaceAll("<", "&lt;");
                html = html.replaceAll("\n", "<br>");
                html = html.replaceAll(" ", "&nbsp;");
                html = html.replace("\"", "&quot");
            }
            return html;
        }
      

  5.   

    使用indexOf,replace这类的解决方法只可以解决简单的字符问题。
    如果要解析复杂的字符解析就一定要用正则表达式
    java.util.regex
    至于正则表达式的语法,你可以上google查。一句两句说不完