我想在将其加载到WebView之前过滤html字符串:
我想用param删除所有img标签:
data-custom:'delete'
在例子中
<img src="https://..." data-custom:'delete'/>
如何在Android中以优雅的方式执行此操作(如果可能,不使用外部库)
我要去一个简单的方法:
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查找具有数据自定义属性的所有元素并将其从文档中删除,然后保存更新的文档。虽然你可以用正则表达式来做这些事情,但通常不是一个好主意......