[英]Search and Replace urls within a string using C#
我正在加载电子邮件。 为了跟踪点击次数,我已将所有出现的HREF =“ http:// someurl”替换为HREF =“ %% track http:// someurl %% ”
然后,我们的电子邮件软件可以检测到跟踪代码并跟踪点击次数(它会看到跟踪代码,并用可以跟踪的内容替换网址)。 该网址可以是任何有效的网址。
有没有人有代码示例来执行这种类型的搜索和替换?
谢谢
传统观点认为,您不应使用正则表达式来解析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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.