PUBLICIDADE
Este código tem nota
1

Autor

zeca

José Carlos Barreto

membro deste novembro de 2006

Compartilhe e guarde

  • Rec6
  • StumbleUpon
  • ueba
  • linkk
  • dihitt
  • linkloko
  • linkto
  • Technorati
  • Simpy
  • del.icio.us
  • Faves: Fave It!

PUBLICIDADE

Enquete

Você já está estudando HTML5 e CSS3?

Transformando uma URL em Hyperlink dentro de um texto


As expressões regulares são capazes de realizar tarefas muito poderosas, mas desconhecidas por muitos.

Por exemplo: formulários de dados são validados para impedir que o usuário entre com instruções HTML no formulário, o que seria uma tentativa de invasão conhecida como script injection.

Mas digamos que o usuário entre com URLs nestes formulários. Você pode desejar que as URLs sejam exibidas com links, mas nem por isso quer que seu usuário digite tags HTML.

Se for só um campo URL, é muito fácil. Mas e se forem URLs digitados no meio de um longo texto e você desejar que, ao exibir o texto, todas as URLs do texto apareçam como links ?

Neste ponto entram as expressões regulares : Elas são capazes de identificar um padrão no meio de um grande texto (as URLs tem um formato padrão) e a partir deste padrão fazer inclusive um replace, mas não necessariamente um replace comum, mas um replace baseado no padrão que foi identificado.

Não esqueça de fazer um imports/using para o namespace System.Text.RegularExpressions. Observe também que dentro do colchete existe um espaço.

Veja como ficaria uma rotina para transformar, dentro de um texto, todas as URLs para hyperlinks :

Fonte: Búfalo Info (http://www.bufaloinfo.com.br/dicas.asp?cod=893).
C# 

public string ConvertURLsToHyperlinks(string sInput) 
{ 
return Regex.Replace(sInput, @"(\bhttp://[^ ]+\b)", @"<a href=""$0"">$0</a>"); 
} 

VB.NET : 

public function ConvertURLsToHyperlinks(sInput as string) as string 

return Regex.Replace(sInput,"(\bhttp://[^ ]+\b)","<a href=""$0"">$0</a>") 

end function

Sim   Não   Este código foi útil para você?
NotaComentário
1
dennes comentou em 24/2/2008

Referência


Considerando ser uma cópia integral de uma dica que encontra-se no site BufaloInfo, pelo menos faça um link direto ao local de origem

http://www.bufaloinfo.com.br/dicas.asp?cod=893
Regras:
Os comentários seguem as seguintes regras:
  • Todos os comentários são enviados por membros cadastrados no site.
  • A pontuação de comentários de conteúdo do próprio membro não serão computados.
  • Os comentários serão pré-aprovados, porém a equipe do site revisará o conteúdo de todos os comentários podendo ser invalidados (inclusive a pontuação).
  • Os comentários precisam ter, obrigatóriamente, coerência sobre o conteúdo que será comentado.
  • O membro que atingir 5 comentários invalidados não poderá mais comentar dentro do site. Com isso o membro não poderá mais ganhar pontos com comentários.
  • Há um limite de 10 comentários por dia para cada membro.
  • Qualquer comentário após ter sido publicado poderá ser retirado através da opção ( denunciar)

Comente

     (ainda não tem cadastro? clique aqui!)


Máximo de 30 caracteres

Máximo de 255 caracteres
 

R&W Consulting - Soluções Web Hospedagem UOL HOST PagSeguro - solução para pagamentos online
© 2006-2009 R&W Informática Ltda. - Todos os direitos reservados.