用String标记替换HTML标记

时间:2012-12-31 13:47:38

标签: android html 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(非格式化).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

但在网站上它看起来像这样:

enter image description here

我希望我的java字符串与图像中的字符串类似,而不是子弹,一个换行符。

谢谢

3 个答案:

答案 0 :(得分:1)

因为Html.fromHtml(字符串)只支持一些html标签,例如:br p div em b strong au sup sub ...但它不支持ul,li标签,所以你可以尝试使用{{{{{{ 1}}。 “WebView or TagHandler”。这些链接会告诉您如何执行此操作:

Show <ul> <li> in android textview

Html List tag not working in android textview. what can i do?

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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