Java中正則表達(dá)式去除html標(biāo)簽
Java中正則表達(dá)式去除html的標(biāo)簽,主要目的更精確的顯示內(nèi)容,比如前一段時間在做類似于博客中發(fā)布文章功能,當(dāng)編輯器中輸入內(nèi)容后會將樣式標(biāo)簽也傳入后臺并且保存數(shù)據(jù)庫,但是在顯示摘要的時候,比如顯示正文的前50字作為摘要,那么這時需要去除所有html標(biāo)簽,然后在截取50字,所以就通過了Java正則表達(dá)式實(shí)現(xiàn)了如下方法,代碼如下:
注:這是Java正則表達(dá)式去除html標(biāo)簽方法。
private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; // 定義script的正則表達(dá)式 private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; // 定義style的正則表達(dá)式 private static final String regEx_html = "<[^>]+>"; // 定義HTML標(biāo)簽的正則表達(dá)式 private static final String regEx_space = "\\s*|\t|\r|\n";// 定義空格回車換行符 private static final String regEx_w = "<w[^>]*?>[\\s\\S]*?<\\/w[^>]*?>";//定義所有w標(biāo)簽 /** * @param htmlStr * @return 刪除Html標(biāo)簽 * @author LongJin */ public static String delHTMLTag(String htmlStr) { Pattern p_w = Pattern.compile(regEx_w, Pattern.CASE_INSENSITIVE); Matcher m_w = p_w.matcher(htmlStr); htmlStr = m_w.replaceAll(""); // 過濾script標(biāo)簽 Pattern p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE); Matcher m_script = p_script.matcher(htmlStr); htmlStr = m_script.replaceAll(""); // 過濾script標(biāo)簽 Pattern p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE); Matcher m_style = p_style.matcher(htmlStr); htmlStr = m_style.replaceAll(""); // 過濾style標(biāo)簽 Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE); Matcher m_html = p_html.matcher(htmlStr); htmlStr = m_html.replaceAll(""); // 過濾html標(biāo)簽 Pattern p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE); Matcher m_space = p_space.matcher(htmlStr); htmlStr = m_space.replaceAll(""); // 過濾空格回車標(biāo)簽 htmlStr = htmlStr.replaceAll(" ", ""); //過濾 return htmlStr.trim(); // 返回文本字符串 }
ps:方法僅供參考,供大家一起互相學(xué)習(xí),若有不足或者疑問歡迎評論。
相關(guān)文章
基于mybatis高級映射多對多查詢的實(shí)現(xiàn)
下面小編就為大家?guī)硪黄趍ybatis高級映射多對多查詢的實(shí)現(xiàn)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Java上傳文件錯誤java.lang.NoSuchMethodException的解決辦法
今天小編就為大家分享一篇關(guān)于Java上傳文件錯誤java.lang.NoSuchMethodException的解決辦法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-01-01Java Socket實(shí)現(xiàn)猜數(shù)字小游戲
這篇文章主要為大家詳細(xì)介紹了Java Socket實(shí)現(xiàn)猜數(shù)字小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-09-09SpringBoot動態(tài)導(dǎo)出word文檔實(shí)整教程(復(fù)制即可使用)
在我們做項(xiàng)目的時候會需要把數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到word當(dāng)中,下面這篇文章主要給大家介紹了關(guān)于SpringBoot動態(tài)導(dǎo)出word文檔實(shí)整教程的相關(guān)資料,文中的代碼復(fù)制即可使用,需要的朋友可以參考下2023-06-06Springboot內(nèi)外部logback多環(huán)境配置詳解
本文主要介紹了Springboot內(nèi)外部logback多環(huán)境配置詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01Java利用自定義注解、反射實(shí)現(xiàn)簡單BaseDao實(shí)例
下面小編就為大家?guī)硪黄狫ava利用自定義注解、反射實(shí)現(xiàn)簡單BaseDao實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08log4j2 RollingRandomAccessFile配置過程
這篇文章主要介紹了log4j2 RollingRandomAccessFile配置過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07