Как программист, после завершения проектирования вы должны продолжать улучшать программу на основе ситуации с программой и отзывов пользователей, чтобы вы могли постоянно улучшать свою работу. После того, как я закончил создание форума для сети Software Business Network http://www.bizsofts.com , я обнаружил, что людям всегда нравится добавлять в свои сообщения различные полезные URL-ссылки или адреса электронной почты. Я не учел это при разработке, поэтому эти URL-ссылки или адреса электронной почты могут отображаться только в виде текста, а не гиперссылок. Другие люди, просматривающие сообщение, также должны скопировать эти URL-ссылки в браузер или скопировать электронное письмо. адрес в Outlook, чтобы перейти по соответствующему адресу ссылки или отправить электронное письмо на соответствующий адрес электронной почты.
Обнаружив эту проблему, я приступил к ее решению. Первым делом нужно поискать актуальный код в этой области в Интернете. К сожалению, после неоднократных поисков в поисковых системах не было найдено ни одной статьи в этой области. Затем я подумал, что с таким же успехом я мог бы написать его сам, используя ASP.NET.
Ключом к автоматическому отображению гиперссылок является правильная их идентификация. Нет сомнений в том, что наиболее эффективным методом является использование регулярных выражений. Регулярные выражения представляют собой текстовые шаблоны, состоящие из обычных символов (например, символов от a до z) и специальных символов (называемых метасимволами). Они описывают шаблон сопоставления строк и могут использоваться для проверки того, содержит ли строка определенную подстроку. Замените соответствующие подстроки или извлеките их. подстроки, отвечающие определенным условиям из определенной строки и т. д. Библиотека базовых классов .NET содержит пространство имен и ряд классов, которые могут полностью раскрыть возможности регулярных выражений. Ее можно использовать для автоматического обнаружения URL-ссылок или адресов электронной почты в тексте. Позвольте мне подробно объяснить, как шаг за шагом использовать ASP.NET (C#) для достижения нашей цели:
во-первых, если вы хотите использовать регулярные выражения в ASP.NET (C#), вы должны включить пространство имен System.Text.RegularExpressions:
использование System.Text.RegularExpressions
Второй шаг — использовать регулярные выражения для идентификации гиперссылок URL:
Regex urlregex = new Regex(@"(http://([w.]+/?)S*) ",
RegexOptions.IgnoreCase|RegexOptions.Compiled
Здесь код использует регулярные выражения для идентификации адресов электронной почты:
Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+@[a-zA-Z_0 - 9.-]+.w+)",
RegexOptions.IgnoreCase|RegexOptions.Compiled);
Третий шаг: когда программа определила гиперссылку URL или адрес электронной почты, эти гиперссылки необходимо заменить на <a href=...>Гиперссылка</a>, поэтому только тогда они могут быть заменены. тексты будут отображаться в виде ссылок. Я включаю их все в функцию здесь:
Private void Button1_Click(отправитель объекта, System.EventArgs e)
{
строка strContent = InputTextBox.Text;
Regex urlregex = new Regex(@"(http://([w.]+/?)S*)",
RegexOptions.IgnoreCase| RegexOptions.Compiled);
strContent = urlregex.Replace(strContent,
"<a href="" target="_blank"></a>");
Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+@[a-zA-Z_0-9.-]+.w+)",
RegexOptions.IgnoreCase| RegexOptions.Compiled);
strContent = emailregex.Replace(strContent, "<a href=mailto:></a>");
lbContent.Text += "<br>"+strContent;
}
Выполнив описанные выше действия, вы можете автоматически отображать гиперссылки и адреса электронной почты на веб-страницах. Вы можете загрузить исходный код этого примера и посмотреть реальный эффект на форуме http://www.bizsofts.com . (Примечание автора: английская версия этой статьи опубликована на CodePoject и CodeGuru)