Замените гиперссылку на обычный текстовый URL с помощью REGEX - PullRequest
0 голосов
/ 07 декабря 2011

Я отправляю электронное письмо из моей заявки. Он в основном в формате html, и я использую регулярное выражение, чтобы убрать теги html для простого текста (используя @"<(.|\n)*?>"). Я хочу заменить тег гиперссылки <a> на текстовую версию href адрес.

Я могу только найти информацию о преобразовании другим способом.

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Если вы просто хотите заменить тег a значением href, и при условии, что значение href имеет значение "", вот регулярное выражение:

<a[^/>]*href="([^"]*)"/?>

и регулярное выражение замены:

$1
0 голосов
/ 07 декабря 2011
Regex reg=new Regex(@"<a[^>]*href=["]*(?<link>[^\s>"]+)["]*\s*(?:(?:/>)|(?:>[^>]*)>)");
mail.Body=reg.Replace(mail.Body, new MatchEvaluator(delegate(Match m)
{
return m.Groups["link"].Value;
}

Возможно, почтовый клиент автоматически конвертирует обычный текст в гиперссылку, сделайте это

return m.Groups["link"].Value.Replace("http://","");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...