2016-11-28 93 views
0

Html.fromHtml成功地呈现文本,但是,我有HTML包含注释:Html.fromHtml显示注释行

<!-- p {margin-top:0;margin-bottom:0}--> 

而这个注释行是显示在我的TextView

enter image description here

如何防止显示注释行?

代码

public String getFormattedBody() 
{ 
    String formattedContent; 

    if (contentType.equalsIgnoreCase("html")) 
    { 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) 
     { 
      formattedContent = Html.fromHtml(content, Html.FROM_HTML_MODE_LEGACY).toString(); 
     } 
     else 
     { 
      formattedContent = Html.fromHtml(content).toString(); 
     } 
    } 
    else 
    { 
     return content; 
    } 

    return formattedContent; 
} 

回答

0

使用正则表达式来手动删除注释:

final Pattern pattern = Pattern.compile("<!--(.*?)-->"); 
final Matcher matcher = pattern.matcher(formattedContent); 

while (matcher.find()) 
{ 
    final String htmlComment = matcher.group(); 
    formattedContent = formattedContent.replace(htmlComment, ""); 
}