【问题标题】:Replace HTML tags with String tags用字符串标签替换 HTML 标签
【发布时间】:2012-12-31 13:47:38
【问题描述】:

我的意思是,如果一个字符串包含 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 字符串与图像中的字符串一样,而不是项目符号,而是一个换行符。

谢谢

【问题讨论】:

    标签: android html string


    【解决方案1】:

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

    Show <ul> <li> in android textview

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2021-03-20
          • 1970-01-01
          • 1970-01-01
          • 2016-08-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-06-07
          相关资源
          最近更新 更多