正則表達式過濾html標籤

 這是用正則表達式過濾html標籤,但是有缺陷,不能過濾<span,這種標籤。

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標籤的正則表達式
        String regEx_space = "\\s*|\t|\r|\n";// 定義空格回車換行符
        String regEx_w = "<w[^>]*?>[\\s\\S]*?<\\/w[^>]*?>";//定義所有w標籤
        Pattern p_w = Pattern.compile(regEx_w, Pattern.CASE_INSENSITIVE);
        Matcher m_w = p_w.matcher(htmlStr);
        htmlStr = m_w.replaceAll(""); // 過濾script標籤
        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標籤
        Pattern p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE);
        Matcher m_space = p_space.matcher(htmlStr);
        htmlStr = m_space.replaceAll(""); // 過濾空格回車標籤
        htmlStr = htmlStr.replaceAll(" ", ""); //過濾
        return htmlStr.trim(); // 返回文本字符串
    }

 小結:這不是萬能的,沒它是萬萬不能的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章