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; } }