将querystring添加到HTML主体中的所有锚链接中

本文关键字:链接 主体 querystring 添加 HTML | 更新日期: 2023-09-27 18:16:47

在c#中给定一个包含HTML的字符串,自动将查询字符串数据test=1添加到每个超链接的末尾的最佳方法是什么?它应该只修改锚链接的href属性内的url(例如不做图像url等)。

一个例子是:

输入

<a href="http://www.test.com">Visit http://www.test.com</a> today
and see what <a href="http://www.test.com?p=1">deals</a> we have.

<a href="http://www.test.com?test=1">Visit http://www.test.com</a> today
and see what <a href="http://www.test.com?p=1&test=1">deals</a> we have.

这似乎有点棘手,我不确定从哪里开始最好。任何帮助,感谢!

将querystring添加到HTML主体中的所有锚链接中

HTML Agility Pack是一个非常好的解析HTML的库。

获取html中所有文本的示例:

    HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
    HtmlAgilityPack.HtmlDocument doc = web.Load("Yor Path(local,web)"); 
    var result=doc.DocumentNode.SelectNodes("//body//text()");//return HtmlCollectionNode
    foreach(var node in result)
    {
        string AchivedText=node.InnerText;//Your desire text
    }