使用文本编辑器录入文章存入数据中的文本是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;// 返回文本字符串
}
相关推荐
正则表达式是处理字符串的强大工具,它允许我们对字符串进行匹配、搜索、替换等操作。...在实际应用中,我们应根据任务的复杂程度和精确性要求,选择是否使用正则表达式,或者转而使用更为专业的HTML解析工具。
其中一项常见的任务就是从文本中移除HTML标签。这不仅有助于提高数据的安全性(例如防止XSS攻击),还能方便地提取纯文本内容用于显示或进一步处理。本文将详细介绍如何利用正则表达式在.NET环境中清除HTML标签。 #...
使用JS正则表达式,选取video元素的src属性的值,利用jQuery选取元素
本文将详细介绍如何使用Java的正则表达式来删除HTML标签,以便提取网页内容的核心部分。 首先,我们需要理解HTML标签的一般结构。HTML标签通常以`开始,`>`结束,并可能包含属性。例如,`<script>`和`<style>`标签...
在C#编程中,正则表达式是一种强大的文本处理工具,尤其在处理HTML内容时,可以用来有效地过滤或提取特定的HTML标签。本篇文章将详细解释如何使用C#的正则表达式来过滤HTML标签,以便将HTML字符串转换为纯文本。 ...
需要注意的是,正则表达式处理HTML有一定的局限性,特别是当HTML标签嵌套或者存在复杂结构时。对于更复杂的HTML处理,可能需要使用像Jsoup这样的库,它提供了更强大的解析和操作HTML的能力。 在实际项目中,`README...
在HTML中,我们可以在`<input>`标签的`pattern`属性中使用正则表达式,限制用户只能输入符合特定规则的字符。例如,如果你希望用户输入的邮箱地址必须包含"@"和".",可以这样设置: ```html ^[a-zA-Z0-9._%+-]+@[a-...
在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在处理HTML内容时,有时我们需要去除其中的HTML标签,以便得到纯文本内容。标题提到的"移除HTML标签的正则...
虽然在处理HTML和正则表达式时我们通常不会直接用到Boost库,但在其他C++项目中,Boost的正则表达式库(Boost.Regex)也可以用来过滤HTML中的制表符,其使用方式与Python的`re`模块类似。 总结起来,"正则 过滤 ...
总结来说,使用Java和正则表达式去除HTML中的A标签是一种常见的文本处理任务,但需要注意的是,这种方法对于简单的情况有效,对于复杂的HTML结构可能不够健壮。对于更复杂的需求,推荐使用专门的HTML解析库。
"Java 中过滤Html标签" Java 中过滤Html标签是指在Java语言中删除或替换HTML标签的过程。...使用正则表达式过滤Html标签是Java中的一种常见技术,可以用来删除恶意代码、防止XSS攻击、显示纯文本等。
#### 方法一:使用正则表达式去除脚本和HTML标签 在提供的代码片段中,首先通过`Regex.Replace()`函数去除所有的脚本标签(`<script>...</script>`),然后继续去除所有其他的HTML标签(`<...>`形式)。这一过程是通过...
总之,通过使用PHP的`preg_replace`函数和正则表达式,我们可以高效地从HTML代码中删除`a`标签并保留其内容。这种技术在处理用户输入、清理HTML或者格式化输出时非常有用。在实际应用中,记得根据实际情况调整正则...
使用正则表达式实现删除字符串中的空格 **问题描述**:删除字符串中的空格。 **解决方案**:使用正则表达式 `/\\s+/g` 删除所有空格。 **示例代码**: ```javascript function trim(str) { return str.replace...
这些只是JavaScript正则表达式应用的冰山一角,实际使用中可以根据具体需求进行组合和扩展,以实现更复杂的功能。掌握正则表达式能极大地提升处理文本数据的能力,是每个JavaScript开发者必备的技能之一。
这个场景中,我们关注的是如何使用Java和正则表达式来移除HTML代码中的`<script>`标签,因为这些标签通常包含JavaScript代码,可能对页面的呈现或安全有特殊影响。下面我们将深入探讨这个话题。 首先,`<script>`...
这意味着当用户进行修改时,编辑器应该能够保留原有的HTML标签,并根据用户的操作添加或删除相应标签。例如,加粗文字会添加`<strong>`或`<b>`标签,而插入图片会创建`<img>`标签。 5. **字符串输出**:编辑完成后...
在处理HTML内容时,我们经常会遇到需要删除特定HTML标签的情况,比如img标签。 在给定文件中,介绍的方法是如何利用PHP的preg_replace函数结合正则表达式来删除HTML内容中的img标签。具体的知识点包括: 1. PHP的...
在日常使用中,正则表达式提供了比简单的通配符(如?和*)更为复杂和灵活的功能。例如,你可以使用正则表达式测试字符串是否符合特定模式,如电话号码或信用卡号的格式,进行数据有效性验证。此外,正则表达式还能...
/>` - 这个正则表达式用于找出HTML文档中的标签,但不适用于复杂的嵌套标记。 5. 匹配首尾空白字符:`^s*|s*$` - 该正则表达式用于删除字符串开始或结束的空格、制表符等空白字符。 6. 匹配Email地址:`w+([-+.]w...