更新:嗨Pascal,感谢您的快速回复,这几乎是我想要的。每个标签的新链接都不同,请你帮我做一下。
我需要做的就是遍历输入String中出现的所有链接标记,获取它们的值,并用不同的链接替换而不会干扰链接文本
我是新用的Java中的htmlParser,请帮我解决这个问题。
htmlString = <a class="user" href="">first name</a> posted on <a class="user" href="">Test Test</a>'s wiki entry, <a href="http://localhost:8080/b/lll/ddd">werwrwrwerwerwer</a>, in
我需要将href
中的<a class="user" href="">
链接替换为代码中的其他链接。
答案 0 :(得分:4)
如果您使用htmlparser作为HTML解析器,则可以使用visitors进行一些转换。
例如,您可以创建自己的NodeVisitor来访问a
代码:
public class MyLinkVisitor extends NodeVisitor {
public MyLinkVisitor() { }
public void visitTag(Tag tag) {
if (tag.getTagName().equals("A")) {
LinkTag link = (LinkTag) tag;
link.setLink("http://newLink/"); //implement your logic here
}
}
}
然后,创建一个Parser,解析HTML字符串并访问返回的节点列表:
Parser parser = new Parser(htmlString);
NodeList nl = parser.parse(null);
nl.visitAllNodesWith(new MyLinkVisitor());
System.out.println(nl.toHtml());
这只是一种方法。