我有一个从富文本编辑器获得的 html 文本,我需要将富文本转换为降价文本
例如:
富文本返回
<b> strong </b>
to
**strong**
任何人都可以在Android中帮助我吗
我有一个从富文本编辑器获得的 html 文本,我需要将富文本转换为降价文本
例如:
富文本返回
<b> strong </b>
to
**strong**
任何人都可以在Android中帮助我吗
您可以使用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));
}
您可以使用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**
您还可以从 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
试试这个代码
TextView textView = (TextView) findViewById(R.id.textView);
String htmlText = "<b> strong </b>";
textView.setText(Html.fromHtml(htmlText).toString());