java如何去掉html標簽_Java后端去掉HTML標簽獲取純文本-Fun言

今天又對我的博客首頁進行了一次版本的更新,使其自適應屏幕,獲得更好的用戶體驗,然后就出現點小問題,那就是原來的摘要是人為添加的,有長有短,對自適應屏幕有影響,所以我們現在是截取文章的前200個字來完成的。

通過閱讀前輩的文章然后自己寫了一個工具類,用java代碼來去掉文章的html標簽,然后截取前200字,本來可以用前端來做的,但是前端來操作勢必會對頁面進行重新的渲染,影響頁面的打開速度,所以我建議后端是最穩妥的方式,當然你也可以用來防止xss攻擊,將值傳到這個工具類里,獲取純文本后就可以防止xss攻擊。

代碼部分:import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class OutHtml {

public String delHTMLTag(String htmlStr){

String regEx_script="

String regEx_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(); //返回文本字符串

}

}

這樣就可以用java代碼來去掉文章的html標簽,然后你們直接復制調用就完全OK

你還沒有登錄,請先使用 QQ登錄 或 注冊!

文章評論

發表評論

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452907.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452907.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452907.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

單/雙中括號與測試條件

測試命令 tesst[]內置命令[[]]bash中的關鍵字 單中括號 格式[#express1#op#express2#] 注意&#xff1a;   其中#代表括號不能省略   不能匹配模式   變量引用應用雙引號括起&#xff0c;尤其當變量引用有空格時   與或非形式-a –o -not   常量應用單/雙引號括起  …

暗時間--平凡與優秀間的距離

每個人都希望&#xff0c;在他所從事的領域很優秀&#xff0c;那么如何才能優秀呢&#xff1f;有人做過一個研究&#xff0c;說那些優秀的音樂家&#xff0c;在他們成名之前&#xff0c;已經訓練過10000小時。有人可能成功得早&#xff0c;如莫扎特16歲&#xff0c;有些可能需要…

IP分組

IP分組就是根據Ip地址來進行分組&#xff0c;目的可以是為了對不同 的地址組分配不同的帶寬&#xff08;限速&#xff09;配置地址組時&#xff0c;其輸入格式為A.B.C.D-A.B.C.E&#xff0c;例如&#xff1a;192.168.1.1-192.168.1.250

python3基礎3--數據類型--數據運算--表達式if -else-while-for

一、python3 數據類型 1.1 數字例如&#xff1a;1,2,3,4等1.2 int&#xff08;整型&#xff09; 在32位機器上&#xff0c;整數的位數為32位&#xff0c;取值范圍為-2**31&#xff5e;2**31-1&#xff0c;即-2147483648&#xff5e;2147483647在64位系統上&#xff0c;整數的位…

spark java教程_(Spark)學習進度十四(Spark之Java獨立應用編程)

環境如下:(更新了林子雨教程中不可使用的部分) Hadoop 2.6.0以上 java JDK 1.7以上 Spark 3.0.0-preview2 二、java獨立應用編程(在下載依賴jar包的過程中如遇到卡頓現象可以Ctrl+C停止下載,然后重新執行本條命令即可繼續下載相應的依賴jar包) 1、安裝maven ubuntu中沒有自帶…

nowcoderD Xieldy And His Password

題意:一個01序列,長度1e6,問有多少子串十進制是3的倍數 題解:DP[i][j]代表前i個并且以i為結尾,且十進制%3j的串的個數 #include<bits/stdc.h> #define maxn 1001000 using namespace std; char s[maxn]; long long dp[maxn][3], sum; int main(){while(~scanf("%s&q…

3D電視,你知道多少?

1.3D電視常見知識 系統概述篇 1、 什么是3D電視&#xff1f; 答&#xff1a;3D電視是一種能夠模擬實際景物的真實空間關系的新型電視&#xff0c;它利用人眼的視覺特性產生立體感&#xff0c;讓觀眾感受到觀看的影像是具有深度特性的三維立體場景&#xff0c;觀眾對延伸于屏幕…

testng.xml文件配置

TestNG的DTD檢查文件&#xff1a;http://testng.org/testng-1.0.dtd.php <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <!--suite&#xff08;測試套件&#xff09;為根…

什么是分組轉發

分組轉發(forwarding)是指在互聯網絡中路由器轉發IP分組的物理傳輸過程與數據報轉發機制。根據分組的目的Ip地址與源Ip地址是否屬于同一個子網可分為直接轉發和間接轉發。 是直接轉發還是間接轉發&#xff0c;路由器需要根據分組的目的IP地址和源IP地址是否屬于同一網絡判斷。目…

java 棧 先進后出_數據結構: 先進后出——堆棧

棧是一種常用的數據結構&#xff0c;在生活中經常遇到這樣的例子&#xff0c;如鐵路調度站。本節將詳細介紹堆棧的實現過程。算法點撥(順序棧)棧是一種重要的數據結構。從數據結構的角度看&#xff0c;棧也是線性表&#xff0c;其特殊性在于棧的基本操作是線性表操作的子集&…

Spring Boot—07應用application.properties中的配置

方法1Value("${test.msg}") private String msg;方法2Autowired private Environment env; String value env.getProperty("test.msg");方法3RequestMapping(path"/${query.all}.json", methodRequestMethod.GET) ResponseBody public List&…

skip與direct模式區別 ,他們與CBP的關系

1 CBP表示殘差的編碼狀態,CBP一共6bit&#xff0c;低4位表示4個亮度8x8塊,第4位表示U,第五位表示V,如果相應的位為"1", 表示此塊有殘差系數,反之沒有殘差,此宏塊沒有被編碼.2 direct 是幀間宏塊的一種預測模式&#xff0c;而不是宏塊類型&#xff0c;而 S…

程序的裝入和鏈接過程

從用戶放入源程序進入操作系統到相應的裝程序在機器上運行&#xff0c;所經歷的主要階段有編譯階段 鏈接階段 裝入階段 和運行階段

[零基礎學JAVA]Java SE應用部分-34.Java常用API類庫

本季目標1、StringBuffer類 2、Runtime 類 3、包裝類與JDK 1.5的新特性——泛型 4、日期的操作類 5、Math類 6、Random類1、StringBuffer&#xff08;重點&#xff09; String 類的時候說過&#xff1a;String 類的內容一旦聲明則不可改變&#xff0c;改變的只是其地址。…

我所理解的機器學習

各位請移步到【http://www.cnblogs.com/cchHers/p/8945908.html】轉載于:https://www.cnblogs.com/cchHers/p/8933042.html

protobuf java文檔_Java中使用Protobuf

gradle依賴庫&#xff1a;implementation com.google.protobuf:protobuf-java:3.4.0implementation com.google.protobuf:protobuf-java-util:3.4.00.編寫.proto文件&#xff0c;編譯生成對應Java源文件&#xff1a;syntax "proto2";option java_generic_services …

python 數組和列表的區別

Python沒有數組&#xff1a; 只有元組(tuple)和列表(list)&#xff1b;元組一旦創建不可改變&#xff0c;例如&#xff1a;aatuple(1,2,3)&#xff1b;元組不能追加(append)元素&#xff0c;彈出(pop)元素等&#xff1b;只能對元組中的元素進行索引aa[0]&#xff0c;不能對其中…

內存空間 邏輯地址空間 相對地址 絕對地址

內存空間&#xff08;物理空間或絕對空間&#xff09;&#xff1a;由一系列存儲單元所限定 的地址范圍。 邏輯地址空間&#xff08;地址空間&#xff09;&#xff1a;由程序中邏輯地址組成的地址范圍。 相對地址&#xff08;邏輯地址&#xff09;&#xff1a;用戶程序經編譯后…

多租戶表設計

2019獨角獸企業重金招聘Python工程師標準>>> multi-tenant-databases-in-the-cloudtips-amp-tricks-to-build-multi-tenant-databases-with-sql-databases團隊開發框架實戰—多租戶支持轉載于:https://my.oschina.net/yangjiandong/blog/1612626

java 讀取webapp文件_在Java Webapp和Java Normal應用中讀取公共外部屬性文件

但是&#xff0c;我們有以下一些特殊要求&#xff0c;Webapp將部署到tomcat。格式為.jar的普通Java應用程序將放在/ myapp文件夾下myappConfig.property文件將放置在/ myapp下客戶端計算機上的目錄結構/myapp/myapp.jar/assests/myappConfig.property/tomcat/webapps/myapp.war…