2013-09-28 134 views
0

对我而言;我从网站获取JSON,并且必须将其写入TextView中。实际上做到了。但我的老板想要的文本,平原。没有段落;没有空行。Android:替换< p >和< br/>标签

该文本是从网络控制台添加的网站。因此,该网站的数据库持有他们的HTML标签,我也得到他们的标签。我用Html.fromHtml()方法写下来;并使用tagHandler来处理< li>标签,并提供一些帮助;但现在我必须擦除< p>和< br />标记。任何人都可以帮忙吗?非常感谢你。

+0

好吧,我知道我不能用tagHandler做到这一点。 TagHandler仅在未知标签出现时运行。那么我现在应该使用什么?我是否必须使用< p >和< br >作为分隔符来检查所有字符串,并与其他人一起创建一个新字符串...? –

+0

查看我的回答 – superuser

回答

4

做这样

这将从字符串

public String getPlainText(String htmlString){ 
    System.out.println("HII : " + htmlString.replaceAll("\\<.*?>","")); 
    return htmlString.replaceAll("\\<.*?>",""); 
} 

删除所有<html>标签这将从字符串中删除仅<p><br>标签

public String getPlainText(String htmlString){ 
     System.out.println("HII : " + htmlString.replaceAll("\\<p.|\\<br.*?>","")); 
     return htmlString.replaceAll("\\<p.|\\<br.*?>",""); 
    } 
+0

非常感谢你Biraj。我几分钟前发现了这一点。唯一的问题是它删除所有标签。现在必须改变它来删除特定的标签。再次引诱你。 –

+0

我试图写一些类似你的第二个代码。谢谢你,但它什么都不做:/ –

+0

要删除给出列表,在此 –

0

`String myString = htmlString.replaceAll("<p>", "");` 

`String finalString = myString.replaceAll("<h>", "");` 
0

做到这一点的方式..

public String getPlainText(String htmlString){ 
    return Html.fromHtml(htmlstring).toString(); 
} 
+0

嘿,使用它将删除所有html标签并返回纯文本。 –

+0

谢谢兄弟,但哦..这不是我的。我必须持有< li >的< strong >和更多。 –

2

你为什么不只是使用的replaceAll?

yourString.replaceAll("<p>", "").replaceAll("<br>", "") 
+1

直到5分钟前我都不知道。谢谢。 –

相关问题