Я немного искал и не совсем понял, почему мое решение не работает.По сути, мне нужно взять строку (то есть HTML-код), проанализировать ее и найти ссылки mailto (которые я затем хочу заменить как часть запутывания).Вот что у меня есть на данный момент:
string text = "<p>Some Person<br /> Person's Position<br />p. 123-456-7890<br /> e. <a title=\"Email Some Person\" target=\"_blank\" href=\"mailto:someperson%40domain.com\">someperson@domain.com</a></p>";
text = Server.UrlDecode(text);
string safeEmails = Regex.Replace(text, "(<a href=\"mailto:)(.*?)(%40)(.*?)(\">)(.*?)(</a>)", "<a class=\"mailme\" href=\"$2*$4\">$6</a>");
Response.Write( Server.HtmlDecode(safeEmails));
Текст выходит из текстового редактора WYSIWYG (Telrik RadEditor для знакомых), и для всех целей и задач, к которым у меня нет доступаконтролировать, что из этого выходит.
В основном мне нужно найти и заменить любое:
<a href="mailto:someone%40domain.com">someone@domain.com</a>
На:
<a class="mailme" href="someone@domain.com">someone@domain.com</a>
Некоторое предыстория: IЯ пытаюсь создать почтовую ссылку, чтобы избежать обнаружения харвестерами.Проблема в том, что я получаю строку с электронным письмом в виде стандартной ссылки mailto.Я не могу контролировать входящую строку, поэтому mailto всегда будет незащищенным mailto.Моя цель - найти их все, затемнить их, а затем использовать JavaScript, чтобы «исправить» ссылку, чтобы люди могли легко использовать ссылки mailto.Я открыт для новых подходов, а также изменений в приведенном выше коде.