`

用正则删除文本中的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;// 返回文本字符串
 }
分享到:
评论

相关推荐

    JavaScript正则表达式匹配 div style标签

    正则表达式是处理字符串的强大工具,它允许我们对字符串进行匹配、搜索、替换等操作。...在实际应用中,我们应根据任务的复杂程度和精确性要求,选择是否使用正则表达式,或者转而使用更为专业的HTML解析工具。

    正则表达式清除html标签

    其中一项常见的任务就是从文本中移除HTML标签。这不仅有助于提高数据的安全性(例如防止XSS攻击),还能方便地提取纯文本内容用于显示或进一步处理。本文将详细介绍如何利用正则表达式在.NET环境中清除HTML标签。 #...

    Java使用正则表达式删除所有HTML标签的方法示例

    本文将详细介绍如何使用Java的正则表达式来删除HTML标签,以便提取网页内容的核心部分。 首先,我们需要理解HTML标签的一般结构。HTML标签通常以`开始,`&gt;`结束,并可能包含属性。例如,`&lt;script&gt;`和`&lt;style&gt;`标签...

    C#使用正则表达式过滤html标签

    在C#编程中,正则表达式是一种强大的文本处理工具,尤其在处理HTML内容时,可以用来有效地过滤或提取特定的HTML标签。本篇文章将详细解释如何使用C#的正则表达式来过滤HTML标签,以便将HTML字符串转换为纯文本。 ...

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

    需要注意的是,正则表达式处理HTML有一定的局限性,特别是当HTML标签嵌套或者存在复杂结构时。对于更复杂的HTML处理,可能需要使用像Jsoup这样的库,它提供了更强大的解析和操作HTML的能力。 在实际项目中,`README...

    在HTML中使用正则表达式规范输入数据

    在HTML中,我们可以在`&lt;input&gt;`标签的`pattern`属性中使用正则表达式,限制用户只能输入符合特定规则的字符。例如,如果你希望用户输入的邮箱地址必须包含"@"和".",可以这样设置: ```html ^[a-zA-Z0-9._%+-]+@[a-...

    移除HTML标签的正则表达式

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在处理HTML内容时,有时我们需要去除其中的HTML标签,以便得到纯文本内容。标题提到的"移除HTML标签的正则...

    正则 过滤 html tab

    虽然在处理HTML和正则表达式时我们通常不会直接用到Boost库,但在其他C++项目中,Boost的正则表达式库(Boost.Regex)也可以用来过滤HTML中的制表符,其使用方式与Python的`re`模块类似。 总结起来,"正则 过滤 ...

    Java 中 过滤Html标签

    "Java 中过滤Html标签" Java 中过滤Html标签是指在Java语言中删除或替换HTML标签的过程。...使用正则表达式过滤Html标签是Java中的一种常见技术,可以用来删除恶意代码、防止XSS攻击、显示纯文本等。

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

    总结来说,使用Java和正则表达式去除HTML中的A标签是一种常见的文本处理任务,但需要注意的是,这种方法对于简单的情况有效,对于复杂的HTML结构可能不够健壮。对于更复杂的需求,推荐使用专门的HTML解析库。

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

    #### 方法一:使用正则表达式去除脚本和HTML标签 在提供的代码片段中,首先通过`Regex.Replace()`函数去除所有的脚本标签(`&lt;script&gt;...&lt;/script&gt;`),然后继续去除所有其他的HTML标签(`&lt;...&gt;`形式)。这一过程是通过...

    PHP正则删除html代码中a标签并保留标签内容的方法 <font color=red>原创</font>

    总之,通过使用PHP的`preg_replace`函数和正则表达式,我们可以高效地从HTML代码中删除`a`标签并保留其内容。这种技术在处理用户输入、清理HTML或者格式化输出时非常有用。在实际应用中,记得根据实际情况调整正则...

    js_正则表达式全攻略

    使用正则表达式实现删除字符串中的空格 **问题描述**:删除字符串中的空格。 **解决方案**:使用正则表达式 `/\\s+/g` 删除所有空格。 **示例代码**: ```javascript function trim(str) { return str.replace...

    html富文本离线转换输出自带标签和内容的字符串、编辑内容并输出其相应编辑后的格式字符串

    这意味着当用户进行修改时,编辑器应该能够保留原有的HTML标签,并根据用户的操作添加或删除相应标签。例如,加粗文字会添加`&lt;strong&gt;`或`&lt;b&gt;`标签,而插入图片会创建`&lt;img&gt;`标签。 5. **字符串输出**:编辑完成后...

    php正则删除img标签的方法示例 <font color=red>原创</font>

    在处理HTML内容时,我们经常会遇到需要删除特定HTML标签的情况,比如img标签。 在给定文件中,介绍的方法是如何利用PHP的preg_replace函数结合正则表达式来删除HTML内容中的img标签。具体的知识点包括: 1. PHP的...

    正则表达式.doc

    在日常使用中,正则表达式提供了比简单的通配符(如?和*)更为复杂和灵活的功能。例如,你可以使用正则表达式测试字符串是否符合特定模式,如电话号码或信用卡号的格式,进行数据有效性验证。此外,正则表达式还能...

    正则表达式大全 - 收集的最常用正则表达式

    /&gt;` - 这个正则表达式用于找出HTML文档中的标签,但不适用于复杂的嵌套标记。 5. 匹配首尾空白字符:`^s*|s*$` - 该正则表达式用于删除字符串开始或结束的空格、制表符等空白字符。 6. 匹配Email地址:`w+([-+.]w...

    正则过滤html

    然后,我们可以用编程语言(如Python的`re`模块或JavaScript的`replace`方法)配合这个正则表达式进行替换操作,从而删除这些标签。 在更复杂的场景下,可能需要处理嵌套的HTML标签,或者根据属性值来过滤标签。...

    js过滤HTML标签完整实例

    在事件处理函数中,使用`new RegExp`构造函数创建了一个正则表达式对象,这里的正则表达式即为`/&lt;[^]+&gt;/g`,通过`String.prototype.replace`方法将所有匹配的HTML标签替换为空字符串,即删除这些标签。 整个过程...

Global site tag (gtag.js) - Google Analytics