1. 程式人生 > >JSON—去除JSON資料中的所有HTML標…

JSON—去除JSON資料中的所有HTML標…

刪除了圖片。。。直接貼程式碼。。
package com.linoer.utils;

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

/**

 * HTML

 * 

 * @author linoer

 * 

 */
public class HTMLSpirit {
	/**

	 * 去掉所有的HTML標籤

	 * 

	 * @param htmlStr

	 * @return

	 */
	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().replaceAll(" ", ""); // 返回文字字串

	}

	/**

	 * 從HTML獲取圖片url

	 * @param htmlStr

	 * @return

	 */
	public static List<String> getImgStr(String htmlStr) {
		String img = "";
		Pattern p_image;
		Matcher m_image;
		List<String> pics = new ArrayList<String>();

		String regEx_img = "<img.*src=(.*?)[^>]*?>"; // 圖片連結地址

		p_image = Pattern.compile(regEx_img, Pattern.CASE_INSENSITIVE);
		m_image = p_image.matcher(htmlStr);
		while (m_image.find()) {
			img = img + "," + m_image.group();
			Matcher m = Pattern.compile("src=\"?(.*?)(\"|>|\\s+)").matcher(img); // 匹配src

			while (m.find()) {
				pics.add(m.group(1));
			}
		}
		return pics;
	}
}