我想在将HTML字符串加载到WebView之前对其进行过滤:
我想使用该参数删除所有img标签:
data-custom:'delete'
例如
<img src="https://..." data-custom:'delete'/>
如何在Android中以一种优雅的方式做到这一点(如果可能,则无需外部库)
答案 0 :(得分:1)
我要去做一个简单而优美的事情:
String element = "<img src='https://...' data-custom:'delete'/>";
String attributeRemoved = element.replaceAll("data-custom:['|\"].+['|\"]", "");
已根据评论更新
如果要删除整个标签,可以执行以下操作:
String elementRemoved = element.replaceAll("<.*data-custom:['|\"].+['|\"].*>", "");
如果只想对<img>
标签进行操作,则可以执行以下操作:
String imgElementRemoved = element.replaceAll("<img.*data-custom:['|\"].+['|\"].*>", "");
一种更可靠的方法是将HTML解析为XML文档,并使用XPath查找具有data-custom属性的所有元素并将其从文档中删除,然后保存更新的文档。尽管您可以使用正则表达式来完成这些工作,但这通常不是一个好主意...