2010-12-16 59 views
0

我正在加载电子邮件。为了跟踪点击率,我用HREF =“%% track http://someurl%%”替换了所有出现的HREF =“http:// someurl”使用C搜索并替换字符串内的网址#

我们的电子邮件软件可以检测跟踪代码并跟踪点击点击率它会看到跟踪代码并用可以跟踪的内容替换网址)。该网址可以是任何有效的网址。

有没有人有一个代码的例子来做这种类型的搜索和替换?

谢谢

回答

0

传统的看法是,你不应该用正则表达式解析HTML。但是,这种情况对于正则表达式可能很简单,特别是如果您可以控制您正在接收的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);