是否有将 HTML 转换为纯文本的功能?

Posted

技术标签:

【中文标题】是否有将 HTML 转换为纯文本的功能?【英文标题】:Is there a function that converts HTML to plaintext? 【发布时间】:2011-07-08 22:40:03 【问题描述】:

是否有适用于 android 的“hocus-pocus”功能将 html 转换为纯文本?

我指的是诸如 Internet Explorer、Firefox 等浏览器中的剪贴板转换操作之类的功能:如果您在浏览器中选择所有呈现的 HTML 并将其复制/粘贴到文本编辑器中,您将收到(大部分) 文本,没有任何 HTML 标记或标题。

在类似的线程中,我看到了对html2text 的引用,但它是在 Python 中的。我正在寻找一个 Android/Java 函数。

有没有类似的东西,或者我必须自己做,使用 Jsoup 或 Jtidy?

【问题讨论】:

使用它就可以了 :) ------------------------------------ --- codecodex.com/wiki/Convert_HTML_to_plain_text 它执行从 text/html 到 text/plain 的 mime 转换。 【参考方案1】:

我会尝试类似:

String html = "<b>hola</b>";
String plain = Html.fromHtml(html).toString();

【讨论】:

谢谢,它删除了 HTML 标记,但它仍然包含页面中的所有响应标头和 javascript 代码...我正在寻找我上面描述的“剪贴板文本”功能。 这不是 API 中可用的东西。它是网络浏览器的私有实现...您可以查看它的源代码以了解它是如何实现的。 Jsoup 怎么样? ***.com/questions/240546/… 好家伙...我没听说过。 原来 Html 类本身使用了一种 Jsoup 风格,称为 TagSoup。【参考方案2】:

使用 JSOUP:

String plain = new HtmlToPlainText().getPlainText(Jsoup.parse(html));

没有 JSOUP:

String html= "htmltext";
String newHtml = html.replaceAll("(?s)<[^>]*>(\\s*<[^>]*>)*", " ").trim();

【讨论】:

以上是关于是否有将 HTML 转换为纯文本的功能?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 HTML 文本转换为纯文本? [复制]

是否有任何现成的 xslt 文件可以将 ODF 内容 xml 转换为纯文本?

将 HTML 代码转换为纯文本,格式可用于文本文件 [重复]

在PHP中将HTML有序/无序列表转换为纯文本[重复]

使用 MIME::Entity 将 HTML 电子邮件转换为纯文本

将 HTML 项目符号转换为纯文本