Java 过滤html标签代码

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
import java.util.regex.Matcher;  
import java.util.regex.Pattern;  
  
public class HtmlScript{  
    public static String delHTMLTag(String htmlStr){  
        String regEx_script="<script[^>]*?>[\\s\\S]*?<\\/script>"; //定义script的正则表达式  
        String regEx_style="<style[^>]*?>[\\s\\S]*?<\\/style>"; //定义style的正则表达式  
        String regEx_html="<[^>]+>"; //定义HTML标签的正则表达式  
         
        Pattern p_script=Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);  
        Matcher m_script=p_script.matcher(htmlStr);  
        htmlStr=m_script.replaceAll(""); //过滤script标签  
         
        Pattern p_style=Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);  
        Matcher m_style=p_style.matcher(htmlStr);  
        htmlStr=m_style.replaceAll(""); //过滤style标签  
         
        Pattern p_html=Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);  
        Matcher m_html=p_html.matcher(htmlStr);  
        htmlStr=m_html.replaceAll(""); //过滤html标签  
  
       return htmlStr.trim(); //返回文本字符串  
    }   
      
    /** 
    *去掉字符串里面的html代码。<br> 
    *要求数据要规范,比如大于小于号要配套,否则会被集体误杀。 
    *  
    *@paramcontent 
    *     内容 
    *@return去掉后的内容 
    */  
public static String stripHtml(String content){  
    //<p>段落替换为换行  
    content=content.replaceAll("<p.*?>","");  
    //<br><br/>替换为换行    
    content=content.replaceAll("<brs*/?>","");  
    //去掉其它的<>之间的东西   
    content=content.replaceAll("<.*?>","");  
    //还原HTML//content=HTMLDecoder.decode(content);   
    return content;  
    }  
  
public static String replaceHtml(String html){   
    String regEx="<.+?>"; //表示标签   
    Pattern p=Pattern.compile(regEx);   
    Matcher m=p.matcher(html);   
    String s=m.replaceAll("");   
    return s;   
}  
  
    //public static void main(String[] args) {  
//      String s = "<!DOCTYPE html PUBLIC ''-//WAPFORUM//DTD XHTML Mobile 1.0//EN'' ''http://www.wapforum.org/DTD/xhtml-mobile10.dtd''><html xmlns=''http://www.w3.org/1999/xhtml''><head><meta http-equiv=''Content-Type'' content=''text/html; charset=utf-8'' /><meta id=''viewport'' name=''viewport'' content=''width=320,initial-scale=1,maximum-scale=1,user-scalable=0;'' /><title>概述-白塞病诊断和治疗指南</title><link href=''Pub/css/layout.css'' rel=''stylesheet'' type=''text/css'' /><link href=''Pub/css/public.css'' rel=''stylesheet'' type=''text/css'' /><script type=''text/javascript'' src=''Pub/js/jquery-1.6.1.min.js''></script><script type=''text/javascript'' src=''Pub/js/base.js''></script></head><body><div id=''Layout''><div class=''titleBar''><h1 id= ''1''>1. 概述</h1></div><div class=''mainContainer''><p>白塞病(Behcet's disease,BD)又称贝赫切特病、口-眼-生殖器三联征等。 </p></div></div></body></html>";  
//      delHTMLTag(s);  
    //System.out.println(delHTMLTag(s));  
    //}  
  
}  

标签: 代码

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:List 排序 Java工具类

下一篇: mysql 中取得汉字字段的各汉字首字母