首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于HTML到文本转换的开源java库

用于HTML到文本转换的开源java库
EN

Stack Overflow用户
提问于 2009-10-05 07:29:09
回答 5查看 19.4K关注 0票数 21

你能推荐一个开源的Java库(最好是ASL/BSD/LGPL许可证),它可以将HTML转换为纯文本-清理所有标签,转换实体(&,*,等等)以及正确的句柄和表格。

更多信息

我有一个字符串形式的HTML,没有必要从web上获取它。另外,我正在寻找的是这样的方法:

代码语言:javascript
复制
String convertHtmlToPlainText(String html)
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-05 12:14:16

试试Jericho

TextExtractor类听起来可以做您想要做的事情。对不起,我不能发布第二个链接,因为我是一个新用户,但是向下滚动一下主页,就会有一个链接。

票数 21
EN

Stack Overflow用户

发布于 2009-10-05 07:37:12

HtmlUnit,它甚至显示了处理JavaScript / Ajax之后的页面。

票数 3
EN

Stack Overflow用户

发布于 2016-04-03 15:21:43

bliki引擎可以在两个步骤中做到这一点。请参阅info.bliki.wiki / Home

  1. 如何将HTML转换为Mediawiki文本-- nediawiki文本已经是一种相当普通的文本格式,但您可以进一步转换它
  2. 如何将Mediawiki文本转换为纯文本--您的目标。

它将有7-8行代码,如下所示:

代码语言:javascript
复制
// html to wiki
import info.bliki.html.HTML2WikiConverter;
import info.bliki.html.wikipedia.ToWikipedia;
// wiki to plain text
import info.bliki.wiki.filter.PlainTextConverter;
import info.bliki.wiki.model.WikiModel;
...
String sbodyhtml = readFile( infilepath ); //get content as string
  HTML2WikiConverter conv = new HTML2WikiConverter();
  conv.setInputHTML( sbodyhtml );
String resultwiki = conv.toWiki(new ToWikipedia());
  WikiModel wikiModel = new WikiModel("${image}", "${title}");
String plainStr = wikiModel.render(new PlainTextConverter(false), resultwiki );
System.out.println( plainStr );

Jsoup可以更简单地做到这一点:

代码语言:javascript
复制
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
...
Document doc = Jsoup.parse(sbodyhtml);
String plainStr = doc.body().text();

但是在结果中,你失去了所有的段落格式--没有任何换行符。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1518675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档