我正在使用JSOUP过滤掉html正文中的链接。
我使用这些选择器:
Elements links = doc.select("a[href]"); // Select all links
links.select("a[href*=#]").remove(); // remove links containing #
但仍有包含主题标签的链接。这怎么可能?
答案 0 :(得分:4)
Elements上的remove()
方法不会从元素本身中删除匹配,而是从关联的Document对象中删除。
例如,如果你有:
<html>
<body>
<a href="#someid"></a>
<a href="http://www.google.pt"></a>
</body>
</html>
在links.select("a[href*=#]").remove();
后你会:
<html>
<head></head>
<body>
<a href="http://www.google.pt"></a>
</body>
</html>
如果要选择所有非主题标签链接,可以执行以下操作:
Elements links = doc.select("a[href~=[^#]*");