这是在Android上,需要在加载到WebView之前修复html。
通常可以通过
完成(<a[^>]+>)(.+?)(</a>)
获取group $1,然后替换文本。
如果在标签中有其他未知的子元素怎么办?下面的例子有 …Text
可能是其他未知的东西。
它真正想要的只是替换元素中任何子元素的text元素的内容。
<a href="http://news.newsletter.com/" target="_blank">
<p><img alt=“Socialbook" border="0" height="50"
src="http://news.newsletter.com/images/socialbook.gif" width="62">
THIS IS THE TEXT NEEDED TO REPLACE<p>
</a>
这可以在JAVA内完成还是必须在WebView的javascript内完成?
您可以使用任何Java html解析器。例如JSoup:
String html = "<html><head><title>First parse</title></head>"
+ "<body><a href="..."><p>Parsed HTML into a doc.</p></a></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
for (Element link : links)
link.text("~" + link.text() + "~");