Общепринято, что не следует разбирать 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);