`
grape927
  • 浏览: 75273 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

将HTMl转换成纯文本

 
阅读更多
import java.util.HashSet;
import java.util.Set;

import javax.swing.text.html.HTMLEditorKit;

import org.apache.commons.lang.StringEscapeUtils;
import org.htmlparser.Node;
import org.htmlparser.NodeFilter;
import org.htmlparser.Parser;
import org.htmlparser.util.NodeList;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.richart.Constants;
import com.richart.util.StringUtils;

public class HtmlToText extends HTMLEditorKit.ParserCallback {

	private static Logger logger = LoggerFactory.getLogger(HtmlToText.class);

	/**
	 * 提取纯文本
	 * 
	 * @param inputHtml
	 * @return
	 * @throws Exception
	 */
	public static String extractText(String inputHtml) {
		StringBuffer text = new StringBuffer();
		Parser parser = null;
		NodeList nodes = null;
		Set<String> set = new HashSet<String>();
		try {
			String htmlStr = new String(inputHtml.getBytes(Constants.CODING_UTF_8), Constants.CODING_UTF_8);
			htmlStr = StringEscapeUtils.unescapeHtml(inputHtml);
			parser = Parser.createParser(new String(htmlStr), Constants.CODING_UTF_8);

			// 遍历所有的节点
			nodes = parser.extractAllNodesThatMatch(new NodeFilter() {
				private static final long serialVersionUID = 1L;

				public boolean accept(Node node) {
					return true;
				}
			});

			for (int i = 0; i < nodes.size(); i++) {
				Node nodet = nodes.elementAt(i);
				String noteStr = new String(nodet.toPlainTextString().getBytes(Constants.CODING_UTF_8)).trim();
				if (StringUtils.isValidateString(noteStr) && set.add(noteStr)) {
					text.append(new String(noteStr)).append("<br />");
				}
			}
		} catch (Exception e) {
			logger.error(e.getMessage(), e);
		}
		return text.toString().replaceAll("[[\r]+[\n]+[\t]+]+", "<br />");
	}

 未处理的问题:特殊字符乱码问题,内容重复

分享到:
评论

相关推荐

    C#实现将HTML转换成纯文本的方法

    总的来说,C#实现将HTML转换成纯文本的方法主要是通过解析HTML字符串,识别标签并应用预定义的转换规则,同时忽略特定的HTML标签,从而得到不含HTML标记的纯文本内容。这样的方法在处理大量HTML数据时,能有效地提取...

    超文本转换成纯文本(3KB)

    标题 "超文本转换成纯文本" 指的是将HTML(HyperText Markup Language)文档转换为纯文本(Plain Text)的过程。在IT领域,这种转换非常常见,因为有时我们需要提取网页上的文字信息,而忽略其格式和样式。这在数据...

    在Java中轻松将HTML格式文本转换为纯文本(保留换行)

    lang和lang3这两个包里有转换所需的工具类 org.jsoup jsoup 1.11.3 commons-lang commons-lang 2.6 org.apache.commons commons-lang3 3.4 第二步:直接使用即可: import org.apache.commons.lang....

    使用TWebBrowser将Html文件批量转换成纯文本文件的delphi源代码

    要将HTML转换为纯文本,我们需要利用TWebBrowser的Document属性,它返回一个IDocument接口,可以访问HTML文档的结构。具体步骤如下: 1. **创建Delphi工程**:在Delphi集成开发环境中新建一个VCL Forms应用程序,并...

    超文本转换成纯文本(3KB)...

    VB可以用于编写HTTP请求,抓取网页内容,然后对这些内容进行处理,如将HTML转换为纯文本。 在压缩包子文件的文件名称列表中,我们可以看到以下文件: 1. `frmMain.frm`:这是VB中的表单(Form)文件,包含用户界面...

    java html串转换成文本串

    在Java编程中,将HTML字符串转换为纯文本字符串是一个常见的需求,这主要涉及到解析HTML文档并提取其中的文本内容。HTML是一种标记语言,用于构建网页结构,而纯文本则只包含可读字符,不含有任何格式化或结构信息。...

    Ruby-AutoHtml一组过滤器集合用于将纯文本转换成HTML代码

    标题中的“Ruby-AutoHtml”指的是一个Ruby编程语言的库,它的主要功能是将纯文本内容自动转换为HTML格式。这个库提供了一组强大的过滤器,可以解析文本中的链接、图片、视频等元素,并将其转化为相应的HTML标记,...

    微信小程序、小程序html富文本转换插件、html富文本标签转换

    它能够将HTML字符串转换为小程序可以处理的结构,进而实现富文本的正确展示。wxParse插件通过解析HTML标签,将其转化为小程序组件,如、等,同时处理样式和内联事件,确保内容在小程序中能正常显示和交互。 使用...

    HTML字符串与富文本互转(加载本地html) demo 源码

    对于更复杂的HTML,需要使用第三方库来解析整个HTML文档,提取出纯文本内容。 2. **字符串到NSAttributedString的转换**: iOS提供了`NSAttributedString`的`initWithData:options:documentAttributes:error:`方法...

    在Java中轻松将HTML格式文本转换为纯文本的方法示例(保留换行)

    在Java中轻松将HTML格式文本转换为纯文本的方法示例(保留换行) 在Java中轻松将HTML格式文本转换为纯文本是一项常见的需求,例如在爬虫、文本处理、数据分析等领域都需要将HTML格式文本转换为纯文本。为满足这个需求...

    asp中去掉所有HTML标记得到纯文本代码

    asp中去掉所有HTML标记得到纯文本代码,并截取字符串。适用于做企业网站时,首页显示公司简介的一部分内容用...

    python把文本转换为html-Python基础教程-把文本转为HTML格式.pdf

    在本教程中,我们将探讨如何使用Python将纯文本文件转换为HTML格式。这个过程涉及到几个关键的概念和技术,包括标准输入(sys.stdin)、生成器(yield)以及正则表达式。 首先,让我们详细解释一下`sys.stdin`。`...

    用PHP自动把纯文本转换成Web页面.

    在IT领域,特别是Web开发中,将纯文本转换为Web页面是一项常见的需求,尤其是在处理大量非结构化数据时。本文将深入探讨如何使用PHP这一流行的脚本语言来实现这一目标,基于给定的文件信息:“用PHP自动把纯文本转换...

    Python-将epub文件转换为文本

    本篇将详细讲解如何使用Python将EPUB文件转换为纯文本,这对于文本挖掘、数据分析或者简单的阅读体验优化都非常有用。 EPUB是一种开放标准的电子书格式,它允许内容以结构化的方式存储,包括HTML、CSS、图像和其他...

    Html转换成文本(包含特殊thml)

    在某些情况下,我们需要将HTML内容转换成纯文本,例如为了邮件发送、数据分析或者存档等目的。转换过程需要处理HTML的各种元素,包括标签、属性、样式以及特殊字符。本文将深入探讨HTML转换成文本的原理、方法以及在...

    把chm转换成txt文本格式

    这些工具通常能够解析CHM文件的内部结构,提取出HTML内容,并将其转化为纯文本格式。例如,"chm转txt"可能就是这样一个工具,它可以方便地完成这个过程。 3. 转换过程: - 首先,下载并安装转换工具。确保工具是...

    html2text-lib:用于将 HTML 转换为纯文本的 C++ 库

    html2text-lib 用于将 HTML 转换为纯文本的 C++ 库。 起源 该库基于应用程序 html2text: ://www.aaronsw.com/2002/html2text/ ##去做 创建一些示例和文档。

    html转换成text

    "html转换成text"这个过程主要涉及到以下几个关键技术点: 1. **HTML解析**:首先,我们需要解析HTML文档,理解其结构和元素。这通常通过HTML解析器来完成,如Python的BeautifulSoup库或Java的Jsoup库。解析器能够...

    auto_html, 将纯文本转换为HTML代码的过滤器集合.zip

    auto_html, 将纯文本转换为HTML代码的过滤器集合 AutoHtmlAutoHtml是将纯文本转换为HTML代码的过滤器集合。安装将此行添加到你的应用程序的Gemfile中:gem 'auto_html'然后执行:$ bundle或者将它的自己安装为:

Global site tag (gtag.js) - Google Analytics