`

用正则删除文本中的html标签

阅读更多

使用文本编辑器录入文章存入数据中的文本是HTML标签格式,由于业务需要对HTML标签进行去除只保留纯净的文本内容,于是乎Java实现自动过滤。

如下:

public static String Html2Text(String inputString) {  
String htmlStr = inputString; // 含html标签的字符串
  String textStr = "";
  java.util.regex.Pattern p_script;
  java.util.regex.Matcher m_script;
  java.util.regex.Pattern p_style;
  java.util.regex.Matcher m_style;
  java.util.regex.Pattern p_html;
  java.util.regex.Matcher m_html;

  java.util.regex.Pattern p_html1;
  java.util.regex.Matcher m_html1;

  try {
    // 定义script的正则表达式{或<script[^>]*?>[//s//S]*?<///script>
   String regEx_script = "<[//s]*?script[^>]*?>[//s//S]*?<[//s]*?///[//s]*?script[//s]*?>";

   // 定义style的正则表达式{或<style[^>]*?>[//s//S]*?<///style>
   String regEx_style = "<[//s]*?style[^>]*?>[//s//S]*?<[//s]*?///[//s]*?style[//s]*?>";

   // 定义HTML标签的正则表达式
   String regEx_html = "<[^>]+>";
   String regEx_html1 = "<[^>]+";
   p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
   m_script = p_script.matcher(htmlStr);
   htmlStr = m_script.replaceAll(""); // 过滤script标签

   p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
   m_style = p_style.matcher(htmlStr);
   htmlStr = m_style.replaceAll(""); // 过滤style标签

   p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
   m_html = p_html.matcher(htmlStr);
   htmlStr = m_html.replaceAll(""); // 过滤html标签

   p_html1 = Pattern.compile(regEx_html1, Pattern.CASE_INSENSITIVE);
   m_html1 = p_html1.matcher(htmlStr);
   htmlStr = m_html1.replaceAll(""); // 过滤html标签

   textStr = htmlStr;

  } catch (Exception e) {
       System.err.println("Html2Text: " + e.getMessage());
  }

  return textStr;// 返回文本字符串
 }
分享到:
评论

相关推荐

    java代码-正则去除HTML代码中的IMG标签

    java代码-正则去除HTML代码中的IMG标签

    移除HTML标签的正则表达式

    移除HTML标签的正则表达式,这里是asp版本,注意是看正则的写法,脚本之家以前也发布过类似的代码。

    正则表达式经典实例

    书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、...

    经典JavaScript正则表达式实战

    使用正则表达式实现删除字符串中的空格:... 4 限制文本框只能输入数字和小数点等等... 5 替换小数点前内容为指定内容... 5 只匹配中文的正则表达式... 5 返回字符串的中文字符个数... 6 正则表达式取得匹配IP地址前...

    正则表达式经典实例.pdf

    书中提供了上百种可以在实战中使用的实例,以帮助读者使用正则表达式来处理数据和文本。对于如何使用正则表达式来解决性能不佳、误报、漏报等常见的错误以及完成一些常见的任务,本书给出了涉及基于C#、Java、...

    精通正则表达式基于.NET ASP PHP JSP JavaScript

    26.php HTML标签的清理 解析URL字符串.php 解析URL字符串 解析查询字符串.php 解析查询字符串 URL编码处理....

    C# 过滤HTML标签的几种方法

    /**/ /// /// 去除HTML标记 /// /// &lt;param name="NoHTML"&gt;包括HTML的源码 /// 已经去除后的文字 public static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace... //删除HTML

    正则表达式30分钟入门教程

    恢复格式 文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 对其进行匹配的源字符串 对正则表达式或其中一部分的说明 隐藏边注 本文右边有一些注释,主要是用来提供一些相关信息...

    Magento-HTML-Compressor:简单的基于正则表达式的 html 压缩器

    Magento-HTML-Compressor 简单的基于正则表达式的 html 压缩器它保留了以下标签不变: 脚本风格预文本区域数据中心IE 条件注释####安装解压文件如果启用则禁用编译(系统-&gt;工具-&gt;编译) 上传 magento 根文件夹内...

    Html-JavaScriptHelper帮助类.zip

    删除文本中带的HTML标记 获取页面的链接正则 匹配页面的图片地址 匹配中的图片路径实际链接 以GET方式抓取远程页面内容 以POST方式抓取远程页面内容 压缩HTML输出 过滤指定HTML标签 加载文件块 加载CSS样式文件 加载...

    editplus 代码编辑器html c++ jsp css

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “ \n” 时会提示查找不到,所以也就无法进行替换了,这时可以把“(”、“)”使用任意...

    javascript文档

    delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法...

    WxParse解决html标签解析烦恼

    大家在开发的过程中,一定会遇到需要解析html标签的地方举个栗子:后台管理系统用户会有编辑富文本的需求,编辑好后的内容需要在前台解析展示。 但后台使用的html标签,和微信的自定义标签无法通用,这个时候我们就...

    JScript 语言参考

    delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法...

    微软JavaScript手册

    delete 运算符 删除对象的属性,或删除数组中的一个元素。 description 属性 返回或设置关于指定错误的描述字符串。 Dictionary 对象 存储数据键、项目对的对象。 dimensions 方法 返回 VBArray 的维数。 除法...

    Editplus 3[1].0

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “&lt;script LANGUAGE="JavaScript1.1"&gt;\n&lt;!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...

    EditPlus 2整理信箱的工具

    具体解决方法,在 Editplus 中使用正则表达式,由于“(”、“)”被用做预设表达式(或者可以称作子表达式)的标志,所以查找 “&lt;script LANGUAGE="JavaScript1.1"&gt;\n&lt;!--\nhtmlAdWH('93163607', '728', '90'.);\n//-...

    flex3的cookbook书籍完整版dpf(包含目录)

    如何在正则表达式中使用字符类型 15.12节. 如何通过子表达式来验证IP 地址是否有效呢? 15.13节. 如何使用正则表达式来为不同类型进行匹配? 15.14节. 如何用正则表达式来为行的开端或结尾进行匹配? 15.15节. 如何...

    原生HTML+CSS+ JS服装商城前台

    (2) 间隔3秒后修改图片即文本节点、下方小圆点 3. 详情页轮播 (1) JS监听鼠标滑过 (2) 当鼠标划进哪个图片便显示那张图片 4. 响应式导航栏 (1) 通过window.onresize监听窗口大小。 (2) 在页面小于630px时会显示汉堡...

Global site tag (gtag.js) - Google Analytics