Java去除使用富文本编辑器时自动生成的标签
1,最近做了一個(gè)個(gè)人博客項(xiàng)目,使用了一個(gè)富文本編輯器,然后遇到了一個(gè)問(wèn)題。我們都知道,富文本編輯器編輯的文本都是有格式,顏色之類(lèi)的,而實(shí)際上在數(shù)據(jù)庫(kù)中存儲(chǔ)的不僅僅是你寫(xiě)的文章的內(nèi)容,還有富文本編輯器自己形成的HTML標(biāo)簽,這些標(biāo)簽使富文本編輯器中的內(nèi)容各式各樣,即實(shí)現(xiàn)富文本。比如,你在富文本編輯器中寫(xiě)了一個(gè)文本“Long Bro博客”,并設(shè)定其為斜體粗體,那么雖然富文本編輯器顯示的仍是“Long Bro博客”,但通過(guò)它存儲(chǔ)到數(shù)據(jù)庫(kù)中的文本內(nèi)容不僅僅有“Long Bro博客”,還有這個(gè)字體的粗體及斜體格式,即“<b><i>Long Bro博客</i></b>”。
2,使用富文本編輯器寫(xiě)的博文存儲(chǔ)到數(shù)據(jù)庫(kù)后,就可以使用Javaweb的JSP及Servlet中的out.println()方法通過(guò)訪問(wèn)數(shù)據(jù)庫(kù)向?yàn)g覽器輸出數(shù)據(jù)庫(kù)中的數(shù)據(jù),輸出時(shí)會(huì)自動(dòng)按照標(biāo)簽的格式來(lái)輸出,即以指定格式輸出文本。
3,但是,在有些地方,我們不需要它按這種格式輸出文本。如果按這種格式輸出,反而使標(biāo)簽與標(biāo)簽產(chǎn)生沖突,造成不可逆轉(zhuǎn)的后果,比如如下的博客列表展示界面(以下只截了一篇作為例子)只需要展示博客的一部分,也不必按格式顯示,如果不去除數(shù)據(jù)庫(kù)中的標(biāo)簽它反而可能會(huì)與頁(yè)面中其他標(biāo)簽(圖中的“閱讀原文”,時(shí)間,作者等)相沖突,造成界面顯示混亂的結(jié)果。那么這個(gè)時(shí)候,就需要做一件事情了---去除HTML標(biāo)簽。
4,那么問(wèn)題來(lái)了,該怎么做才能將博文中的HTML標(biāo)簽去掉呢,啰嗦了半天,接下來(lái)進(jìn)入本篇博文的重點(diǎn)。
String content=rs.getString("content");//content為從數(shù)據(jù)庫(kù)獲取的包含標(biāo)簽的博文內(nèi)容 content=content.replaceAll("<[.[^<]]*>", "");//使用String的replaceAll方法將標(biāo)簽去掉,注意里面的參數(shù)通過(guò)String類(lèi)的replaceAll方法將博文內(nèi)容中的標(biāo)簽去掉。第一個(gè)參數(shù)為要替換的內(nèi)容,第二個(gè)參數(shù)為替換成的內(nèi)容。如上代碼的意思就是將所有標(biāo)簽替換為一個(gè)空字符串。
5,普及一個(gè)與本篇博文無(wú)關(guān)的常識(shí),在HTML中使用<xmp></xmp>標(biāo)簽可以自動(dòng)忽略其中的標(biāo)簽,將內(nèi)容按原本輸出,即<p>段落</p>會(huì)輸出:<p>段落</p>
好了,今天的博客寫(xiě)到這里就進(jìn)入尾聲了,感謝大家的觀看。有錯(cuò)誤的地方歡迎各位評(píng)論指正,小編在這里向大家表示感謝。歡迎大家訪問(wèn)我的博客網(wǎng)站---Long Bro博客,我在這兒等著你^~^
總結(jié)
以上是生活随笔為你收集整理的Java去除使用富文本编辑器时自动生成的标签的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SwiftyJSON之使用分析
- 下一篇: HandyJSON和SwiftyJSON