1. 程式人生 > >java中去掉html標籤

java中去掉html標籤

使用正則表示式刪除HTML標籤。

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 

public class HTMLSpirit{ 
    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標籤的正則表示式 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標記的方法
Java裡面去掉網頁裡的HTML標記的方法:

/** 
* 去掉字串裡面的html程式碼。<br> 
* 要求資料要規範,比如大於小於號要配套,否則會被集體誤殺。 
* 
* @param content 
* 內容 
* @return 去掉後的內容 
*/ 
public static String stripHtml(String content) { 
// <p>段落替換為換行 
content = content.replaceAll("<p .*?>", "\r\n"); 
// <br><br/>替換為換行 
content = content.replaceAll("<br\\s*/?>", "\r\n"); 
// 去掉其它的<>之間的東西 
content = content.replaceAll("\\<.*?>", ""); 
// 還原HTML 
// content = HTMLDecoder.decode(content); 
return content; 
}