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

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

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

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

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

【问题讨论】:

标签: java android html


【解决方案1】:

我会尝试类似:

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

【讨论】:

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

使用 JSOUP:

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

没有 JSOUP:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2014-09-08
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    相关资源
    最近更新 更多