0

我的意思是,如果 String 包含HTML标签,例如<br></br>必须将它们转换为\n.

我试过这个:

String formatted = android.text.Html.fromHtml(nonFormatted).toString();

但这似乎只是删除了所有的 HTML 标签。

输入:

String nonFormatted = "<ul><li>Android v4.0 (Ice Cream Sandwich) OS<\/li><li>2 MP Primary Camera<\/li><li>3-inch TFT Capacitive Touchscreen<\/li><li>850 MHz Processor<\/li><li>QWERTY Keypad<\/li><li>FM Radio<\/li><li>Wi-Fi Enabled<\/li><li>Expandable Storage Capacity of 32 GB<\/li><\/ul>";

使用 android.text.Html.fromHtml(nonFormatted).toString(); 后的输出

String formatted = Android v4.0 (Ice Cream Sandwich) OS2 MP Primary Camera3-inch TFT Capacitive Touchscreen850 MHz ProcessorQWERTY KeypadFM RadioWi-Fi EnabledExpandable Storage Capacity of 32 GB

但在网站上看起来是这样的:

在此处输入图像描述

我希望我的 java String 像图像中的那样,而不是项目符号,一个换行符。

谢谢你

4

3 回答 3

1

因为 Html.fromHtml(string) 只支持一些 html 标签,例如:br p div em b strong au sup sub... 但它不支持 ul, li 标签所以你可以尝试使用WebView or TagHandler. " TagHanlder is notified when HTML tags are encountered that the parser does not know how to interpret"。这些链接将向您展示如何做到这一点:

在 android textview 中显示 <ul> <li>

Html 列表标签在 android textview 中不起作用。我能做些什么?

于 2012-12-31T14:35:24.147 回答
0

您需要进行一些解析以正确替换空格的标签。尝试探索jsoup,它是一个非常强大的库,可让您将标签列入白名单、清理 HTML、选择和查找标签、删除等。

于 2012-12-31T13:52:04.423 回答
0

一个简单的正则表达式替换可以解决这个问题。http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

于 2012-12-31T13:56:42.657 回答