如何从源代码中删除可变数据?

时间:2016-11-09 14:35:44

标签: c# html hyperlink

我试图从每个源代码不同的网站源代码中删除链接。

表单示例:

 <div align="center">
    <a href="http://www10.site.com/d/the rest of the link">
        <span class="button_upload green">

下次我收到源代码时,http://www10会更改为http://www + http://www65之类的任何MatchCollection m1 = Regex.Matches(textBox6.Text, "(href=\"http://www10)(?<td_inner>.*?)(\">)", RegexOptions.Singleline); +号码。

如何使用新更改的号码废弃确切的链接?

编辑: 以下是我如何使用RE {{1}}

2 个答案:

答案 0 :(得分:1)

您在评论中提到使用Regulars表达式来解析HTML文档。这是你能做到这一点最困难的方式(通常也不推荐!)。尝试使用像http://html-agility-pack.net

这样的HTML解析器

对于HTML Agility Pack:您可以通过NuGet Packeges安装它,这是一个示例(在他们的网站上发布):

HtmlDocument doc = new HtmlDocument();
 doc.Load("file.htm");
 foreach(HtmlNode link in doc.DocumentElement.SelectNodes("//a[@href]")
 {
    HtmlAttribute att = link["href"];
    att.Value = FixLink(att);
 }
 doc.Save("file.htm");

它还可以加载字符串内容,而不仅仅是文件。您可以使用xPath或CSS选择器在文档中导航并选择所需内容。

答案 1 :(得分:0)

这样的JS函数怎么样,在页面加载时运行:

// jQuery is required!

var updateLinkUrl = function (num) { 
    $.each($('.button_upload.green'), function (pos, el) {
          var orig = $(el).parent().prop("href");
          var newurl = orig.replace("www10", "www" + num);
          $(el).parent().prop("href", newurl);
    });
};
$(document).ready(function () {  updateLinkUrl(65); });