Я немного искал и не совсем понял, почему мое решение не работает. В основном мне нужно взять строку (которая является HTML-кодом), проанализировать ее и искать ссылки mailto (которые я хочу заменить как часть обфускации). Вот то, что я до сих пор:Соответствие URL-адресу Кодированный адрес электронной почты в C#
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\">[email protected]</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">[email protected]</a>
С:
<a class="mailme" href="[email protected]">[email protected]</a>
Некоторые фоне: Я пытаюсь создать MailTo ссылку, которая позволит избежать обнаружения комбайнов. Проблема в том, что я получаю строку с адресом электронной почты в качестве стандартной ссылки mailto. Я не могу управлять входящей строкой, поэтому mailto всегда будет незащищенным почтовым ящиком. Моя цель - найти все из них, запутать их, а затем использовать JavaScript для «исправления» ссылки, чтобы человеческие vistors могли легко использовать ссылки mailto. Я открыт для новых подходов, а также для модификации вышеуказанного кода.
Напоминает мне песню. Все, что вы можете сделать, может сделать лучше. Это тот. Помните, что у вас ограниченные ресурсы. Харвестеры стремятся к неограниченным ресурсам. – btlog
Email harversters не ограничивается поиском _mailto: _ префиксов в ваших hrefs ... – canon
У вас обоих очень хорошие точки, но ни один из них мне не помогает. Я пытаюсь обфускать mailto, потому что это единственное, что я могу найти. Реальная проблема заключается в том, что я не могу получить .Net, чтобы найти совпадения с электронными письмами, закодированными в URL. – jkinz