Java刪除html 字符串的css,html,style,script標籤保留文本

public class StringTools {
    private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定義script的正則表達式
    private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定義style的正則表達式
    private static final String regEx_class = "<class[^>]*?>[\\s\\S]*?<\\/>"; // 定義css的正則表達式
    private static final String regEx_fieldset = "<fieldset[^>]*?>[\\s\\S]*?<\\/fieldset>"; // 定義fieldset的正則表達式
    private static final String regEx_html = "<[^>]+>"; // 定義HTML標籤的正則表達式
    private static final String regEx_space = "\\s*|\t|\r|\n";//定義空格回車換行符
    private static final String regEx_p = "<p>[\\s\\S]*?<\\/p>";//定義[p]

    /**
     * @param htmlStr
     * @return 刪除Html標籤
     */
    public static String delHTMLTag(String htmlStr) {
        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("&nbsp;", "");
        htmlStr = htmlStr.replaceAll("↵", "");
        return htmlStr.trim(); // 返回文本字符串
    }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章