【Java】java 正则表达式去掉文本编辑器相关标签代码
2015-09-06 14:45
645 查看
package com.hz.yisheng.portal.mobi.goodman.util; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HtmlToText { private static final String regEx_script = "<script[^>]*?>[\\s\\S]*?<\\/script>"; /* 定义script的正则表达式 */ private static final String regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; /* 定义style的正则表达式 */ private static final String regEx_html = "<[^>]+>"; /* 定义HTML标签的正则表达式<[^>]*> */ private static final String regEx_space = "<a>\\s*|\t|\r|\n</a>"; /* 定义空格回车换行符 */ public static String delHTMLTag( String htmlStr ) { /* 去掉script标签 */ Pattern p_script = Pattern.compile( regEx_script, Pattern.CASE_INSENSITIVE ); Matcher m_script = p_script.matcher( htmlStr ); htmlStr = m_script.replaceAll( "" ); /* 过滤script标签 */ /* 去掉style标签 */ Pattern p_style = Pattern .compile( regEx_style, Pattern.CASE_INSENSITIVE ); Matcher m_style = p_style.matcher( htmlStr ); htmlStr = m_style.replaceAll( "" ); /* 过滤style标签 */ /* 去掉html标签 */ Pattern p_html = Pattern.compile( regEx_html, Pattern.CASE_INSENSITIVE ); Matcher m_html = p_html.matcher( htmlStr ); htmlStr = m_html.replaceAll( "" ); /* 过滤html标签 */ /* 去掉空格 */ Pattern p_space = Pattern .compile( regEx_space, Pattern.CASE_INSENSITIVE ); Matcher m_space = p_space.matcher( htmlStr ); htmlStr = m_space.replaceAll( "" ); /* 过滤空格回车标签 */ /* 去掉<p>标签<br></br>标签和<>之间内容 */ htmlStr.replaceAll( "<p .*?>", "\r\n" ); htmlStr.replaceAll( "<br\\s*/?>", "\r\n" ); htmlStr.replaceAll( "\\<.*?>", "" ); return(htmlStr.trim() ); /* 返回文本字符串 */ } public static String getTextFromHtml( String htmlStr ) { htmlStr = delHTMLTag( htmlStr ); htmlStr = htmlStr.replaceAll( " ", "" ); htmlStr = htmlStr.substring( 0, htmlStr.indexOf( "。" ) + 1 ); return(htmlStr); } public static void main( String[] args ) { String str = "<div style='text-align:center;'> 整治“四风” 清弊除垢<br/><span style='font-size:14px;'> </span><span style='font-size:18px;'>公司召开党的群众路线教育实践活动动员大会</span><br/></div>"; System.out.println( getTextFromHtml( str ) ); } }
相关文章推荐
- [转]SpringMVC入门
- Spring对RMI的支持
- Java编程中“为了性能”需做的26件事
- [转]SpringMVC拦截器详解[附带源码分析]
- Java RMI 简单示例
- 搭建基于全注解的Spring+Spring MVC+Hibernate框架
- java反射机制的使用
- 【Java】中文转换汉语拼音代码
- java第四天(选择、循环、跳转语句)
- java运行jar命令提示没有主清单属性
- Java垃圾回收机制
- 把Java程序打包成jar文件包并执行
- 如何在spring中获取request对象
- java 中的 final关键字
- JAVA容器小结2
- 程序员的福音Spring MVC 框架
- eclipse 清空SVN用户信心 mac
- 使用JDK自带的visualvm进行性能监测和调优
- java代理模式及两种动态代理
- Java NIO原理 图文分析及代码实现