0

我正在使用 JSOUP 从 html 正文中过滤链接。

我使用这些选择器:

Elements links = doc.select("a[href]"); // Select all links
links.select("a[href*=#]").remove(); // remove links containing #

但是仍然有包含主题标签的链接。这怎么可能?

4

1 回答 1

4

Elements 上的remove()方法不会从 Elements 本身中删除匹配项,而是从关联的 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~=[^#]*");
于 2013-02-25T21:30:50.433 回答