我有一些文本(不是HTML文档),其他单词之间只有a
个标签,就像这样(这个例子有两个a
个节点):
<a rel="nofollow" target="_blank" href="http://loremipsum.net/">http://loremipsum.net/</a>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow" target="_blank" href="http://loremipsum.net/">http://loremipsum.net/</a> sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
我想用单词"link"
替换所有这些标签。此代码中的node
:
var node = HtmlNode.CreateNode(text);
var links = node.SelectNodes("//a[@href]");
只是指第一个链接,但我希望文本中的所有链接。我怎么才能找到它们?感谢。
答案 0 :(得分:2)
从文档中选择所有链接,然后替换它们的内部html:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(text);
foreach (var link in doc.DocumentNode.SelectNodes("//a"))
link.InnerHtml = "link";
string result = doc.DocumentNode.OuterHtml;
结果是
<a rel="nofollow" target="_blank" href="http://loremipsum.net/">link</a>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, <a rel="nofollow"
target="_blank" href="http://loremipsum.net/">link</a> sed diam nonummy nibh
euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.