0

我有一个从富文本编辑器获得的 html 文本,我需要将富文本转换为降价文本

例如:

富文本返回

<b> strong </b>
    to 
**strong**

任何人都可以在Android中帮助我吗

4

4 回答 4

0

您可以使用XSLT在 java android 中将 html 转换为 markdown。这是在 Android 中使用的示例。

 void test(String theHTML)
{
    File xsltFile = new File("mardownXSLT.xslt");

    Source xmlSource = new StreamSource(new StringReader(theHTML));
    Source xsltSource = new StreamSource(xsltFile);

    TransformerFactory transFact =
            TransformerFactory.newInstance();
    Transformer trans = transFact.newTransformer(xsltSource);

    StringWriter result = new StringWriter();
    trans.transform(xmlSource, new StreamResult(result));
}
于 2018-02-16T11:58:12.603 回答
0

您可以使用remark库(页面上的下载已损坏,但它也可以在maven central上获得),它还支持 GitHub 和 Multimarkdown 风格的降价。代码如下所示:

public static void main(String[] args) {
    final String html = "<b>Foo</b>";
    final Remark remark = new com.overzealous.remark.Remark(com.overzealous.remark.Options.github()); // or Options.markdown() or Options.multiMarkdown()
    remark.setCleanedHtmlEchoed(false);
    System.out.println(remark.convert(html));
}

输出:**Foo**

于 2020-08-24T06:59:48.787 回答
0

您还可以从 HTML 字符串加载:

 String summary = "<html><body>You scored <b>192</b> points.</body></html>";
 webview.loadData(summary, "text/html", null);

(或者)

例如(< Android Nougat):

myTextView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>"));

例如(>= Android Nougat):

myTextView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>", Html.FROM_HTML_MODE_COMPACT));

我的建议是最好使用webview。因为表格标签和一些更多的标签没有显示在Textview ... Webview doc

于 2018-02-16T11:29:06.443 回答
-1

试试这个代码

TextView textView = (TextView) findViewById(R.id.textView);
String htmlText = "<b> strong </b>";
textView.setText(Html.fromHtml(htmlText).toString());
于 2018-02-16T11:30:54.723 回答