在Java中,我看到可以轻松指定白名单标签并删除其余的html标签:
Whitelist whitelist = Whitelist.none();
whitelist.addTags(new String[] { "p", "br", "ul" });
String safe = Jsoup.clean(unsafe, whitelist);
return StringEscapeUtils.unescapeXml(safe);
PHP还具有strip_tags($html, $whitelist)
功能来执行相同操作。
我在Android中看到,你可以这样做:
android.text.Html.fromHtml(instruction).toString()
但是这会删除整个html,包括img标签。
或者,可以使用Jsoup
库,但是我们没有更简单的解决方案而不是使用此300kb
库来满足这个简单的要求吗?
在Android中,如何删除除给定文本中的<img>
标记之外的所有HTML?
答案 0 :(得分:2)
这有点苛刻,但它确实起作用了:
用img标签的特殊字符串替换它们。
String stripHTMLtagsExceptIMG(String htmlString)
{
String subbed = htmlString.replaceAll("< *[iI][mM][gG]", "_iimmgg");
String stripped = android.text.Html.fromHtml(subbed).toString();
String unsubbed = stripped.replaceAll("_iimmgg", "<img");
return unsubbed;
}