Como programador, após concluir o design, você deve continuar a melhorar o programa com base na situação do programa e no feedback do usuário, para que possa melhorar continuamente seu trabalho. Depois de terminar de criar o fórum da Software Business Network http://www.bizsofts.com , descobri que as pessoas sempre gostam de adicionar vários links de URL ou endereços de e-mail úteis às suas postagens. Não levei isso em consideração ao projetar, portanto, esses links de URL ou endereços de e-mail só podem ser exibidos na forma de texto em vez de hiperlinks. Outras pessoas que navegam na postagem também devem copiar esses links de URL para o navegador. endereço para o Outlook para ir para o endereço do link correspondente ou enviar um e-mail para o endereço de e-mail correspondente.
Depois de descobrir esse problema, decidi resolvê-lo. A primeira coisa é procurar o código atual nesta área na Internet. Infelizmente, nenhum artigo nesta área foi encontrado após repetidas pesquisas nos motores de busca. Então pensei: seria melhor escrever um usando ASP.NET.
A chave para exibir hiperlinks automaticamente é como identificá-los corretamente. Não há dúvida de que o método mais eficaz é usar expressões regulares. Expressões regulares são padrões de texto compostos de caracteres comuns (como caracteres de a a z) e caracteres especiais (chamados de metacaracteres). Eles descrevem um padrão de correspondência de string e podem ser usados para verificar se uma string contém uma determinada substring ou extrair. substrings que atendem a certas condições de uma determinada string, etc. A biblioteca de classes básicas do .NET contém um namespace e uma série de classes que podem aproveitar ao máximo o poder das expressões regulares. Você pode usá-la para detectar automaticamente links de URL ou endereços de e-mail em texto. Deixe-me explicar em detalhes como usar ASP.NET (C#) para atingir nosso objetivo passo a passo:
Primeiro, se você quiser usar expressões regulares em ASP.NET (C#), você deve incluir o namespace System.Text.RegularExpressions:
usando System.Text.RegularExpressions
A segunda etapa é usar expressões regulares para identificar hiperlinks de URL:
Regex urlregex = new Regex(@"(http://([w.]+/?)S*) ",
RegexOptions.IgnoreCase|RegexOptions.Compiled);
O código aqui usa expressões regulares para identificar endereços de email:
Regex emailregex = new Regex(@"([a-zA-Z_0-9.-]+@[a-zA-Z_0 - 9.-]+.w+)",
RegexOptions.IgnoreCase|RegexOptions.Compiled);
A terceira etapa, quando o programa tiver identificado o hiperlink da URL ou endereço de e-mail, esses hiperlinks devem ser substituídos por <a href=...>Hyperlink</a>, então só então poderão ser substituídos. os textos serão exibidos como links. Incluo todos eles na função aqui:
private void Button1_Click(object sender, System.EventArgs e)
{
string 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;
}
Através das etapas acima, você pode exibir automaticamente hiperlinks e endereços de e-mail em páginas da web. Você está convidado a baixar o código-fonte deste exemplo e observar o efeito real no fórum em http://www.bizsofts.com . (Nota do autor: a versão em inglês deste artigo foi publicada no CodePoject e CodeGuru)