Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C搜索和替换字符串中的URL#_C#_Regex_Email_Url - Fatal编程技术网

C# 使用C搜索和替换字符串中的URL#

C# 使用C搜索和替换字符串中的URL#,c#,regex,email,url,C#,Regex,Email,Url,我正在加载电子邮件。为了跟踪点击率,我已经替换了所有出现的HREF=”http://someurl“with HREF=“%%曲目” 然后,我们的电子邮件软件可以检测跟踪代码并跟踪点击率(它可以看到跟踪代码并用它可以跟踪的内容替换url)。url可以是任何有效的url 是否有人有代码示例来执行这种类型的搜索和替换 谢谢传统观点认为不应该用正则表达式解析HTML。但是,对于regex来说,这种情况可能非常简单,特别是如果您可以控制正在接收的HTML,并且可以确保href属性的格式始终相同 priv

我正在加载电子邮件。为了跟踪点击率,我已经替换了所有出现的HREF=”http://someurl“with HREF=“%%曲目”

然后,我们的电子邮件软件可以检测跟踪代码并跟踪点击率(它可以看到跟踪代码并用它可以跟踪的内容替换url)。url可以是任何有效的url

是否有人有代码示例来执行这种类型的搜索和替换


谢谢

传统观点认为不应该用正则表达式解析HTML。但是,对于regex来说,这种情况可能非常简单,特别是如果您可以控制正在接收的HTML,并且可以确保
href
属性的格式始终相同

private static readonly Regex hrefRegex =
    new Regex("(?<=href=\")http://[^\"]*(?=\")", RegexOptions.IgnoreCase);

public static string InsertTrackingCode(string html)
{
    return hrefRegex.Replace(html,
        match => "%%track " + match.Groups[0].Value + "%%");
}
string htmlWithTracking = InsertTrackingCode(htmlWithoutTracking);