PUBLICIDADE
Este código tem nota
7,75

Autor

zeca

Zeca Barreto

membro deste novembro de 2006

Enquete

Que banco de dados você utiliza em seus projetos?
PUBLICIDADE

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
10
djteuzinho comentou em 16/6/2011

muito bom esse código

cara era esse que eu estava procurando ótimo código parabém pelo post
10
cidinha comentou em 22/2/2011

Muito bom

Muito bem explicado, valeu a dica independente de onde saiu o que importa e espalhar o conhecimento.
10
usertop comentou em 1/1/2010

Bom

Bom codigo
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
 

© 2006-2013 R&W Informática Ltda. - Todos os direitos reservados. - Política de Privacidade | Mapa do Site