Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

masterboy

Código que detecte www e http em texto e strings

Recommended Posts

Olá pessoal, estou batalhando a um tempo por um código que automaticamente procure numa variável ou texto o www ou http:// e transforme automaticamente em link e já fique com target blank.

 

Eu baixei esse código na net mas só fica o www como link, já tentei fazer uma gambiarra para virar o http:// mas não consegui. Abaixo o código:

 

Function link(str)

link=str

link=replace(link,chr(10),chr(32)&chr(10))

busca="www"

target=" target=_blank "

pi=1

do while pi<>0

p1=InStr(pi,link,busca,1)

if p1<>0 then

p2=InStr(p1,link,chr(32),1)

parte1=left(link,p1-1)

total=len(link)

retorno=total-p2

parte2=right(link,retorno)

'//Capturando o link

http="http://" & Mid(link,p1,p2-p1)

ahref= " <a href="""&http& """"&target&">"&http&"</a> "

link=parte1 & ahref & parte2

else

exit do

end if

pi=p1+(len(ahref))

loop

 

End Function

 

'//Criando uma variével com um texto qualquer

texto="Olá, este é um exemplo da fução que mostra links, tipo www.eurodance.com.br e www.teste.com.br vindos de banco de dados ou de variáveis. No momento, ele somente gera links do ""tipo"" http://www., mas logo estarei colocando novas aplicações, como e-mail. Qualquer sugestão é bem vinda."

 

'//Usando a função Server.HTMLEncode

'//IMPORTANTE - se for usar Server.HTMLEncode, use ANTES da função link

texto=Server.HTMLEncode(texto)

 

'//Usando a função link()

texto=link(texto)

 

'//Mostrando o resultado

response.write texto

 

se alguém saber de algum outro código que faça transforme automaticamente o resultado de uma variável www e http:// em link me ajude, por favor.

 

desde já valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmmm vai demorar um pouquinho mais do que pensava.... rsmas relaxa que vou fazer algo pra você aqui... ainda hj =)

DackAle, seria melhor ajudar o cara a pensar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O marioufpa, eu já pensei e já fiz teste mas não consegui, se o cara sabe como fazer não tem nada ele me ajudar, deixa de ser egoista. Vamos ajudar o próximo.

 

valeu DackAle, esse código ai tá funcionando com www mas como http naum. Valeu mesmo cara

 

falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sou egoista...longe de mim...só que me sinto muito melhor quando uma pessoa sai do forum feliz por ter aprendido a fazer algo do que eliz por ter conseguido um codigo que resolva temporariamente seu problema...só isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sou egoista...

 

longe de mim...

 

só que me sinto muito melhor quando uma pessoa sai do forum feliz por ter aprendido a fazer algo do que eliz por ter conseguido um codigo que resolva temporariamente seu problema...

 

só isso...

<{POST_SNAPBACK}>

Acho que o MARIO está certo!!!!!!

 

Imagina, o cara faz para você e você pega coloca em sua APLICAÇÂO, o que você aprendeu nisso, NADA CARA!!!!

 

Agora imagina o pessoal te dando uma dica e você tentanto por si mesmo cara alem de você aprender, vai ser MAIS um ENSINO em sua cabecinha.....!!!!

 

Alem de pegar mais logica!!!!!

 

Falo!!!!!!!!!!!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

e ae explore, entendi o que você quis dizer cara, mas quando postei aqui eu quis dizer isso, que vcs me dessem um help no código e não fizesse o código inteiro pra mim, pois eu quero aprender não sugar códigos prontos. Então se me derem um dica posso avançar no código.falows

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tinha algo assim em meus guardados, havia feito isso não me lembro se foi aqui, na WM ou se foi só de onda mesmo. Vou ver se acho algo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aew,

Tenta usar esse função:

ASP

[*]Function faz_links(texto)

[*]If Right(texto, 1) <> " " Then

[*] texto = texto & " "

[*]End If

[*]x = 1

[*]While Not InStr(x, texto, "http://") < 1

[*] pos_ini = InStr(x, texto, "http://")

[*] y = InStr(pos_ini, texto, " ")

[*] pos_fin = y - 1

[*] antes = Mid(texto, 1, pos_ini - 1)

[*] depois = Mid(texto, pos_fin + 1, Len(texto))

[*] link_src = Mid(texto, pos_ini, pos_fin - (pos_ini - 1))

[*] link_src = "<a href=" & link_src & " target=_blank>" & link_src & "</a>"

[*] texto = antes & link_src & depois

[*] x = InStr(x, texto, link_src) + Len(link_src)

[*] link_src = ""

[*]Wend

[*]faz_links = texto

[*]End Function

Depois de um pouco de trabalho consegui fazer ela funcionar :) , foi legal o desafio :)

Se alguém ver algum erro aí da um toque.

Da pra diminuir o tamanho da função, suprimindo as variaveis...

Compartilhar este post


Link para o post
Compartilhar em outros sites

brother, sei que você ja deve ter resolvido a sua duvida, mas vamos olhar o seu codigo.. você disse que para www esta funcionando, mas para http naumMas, pq naum funciona com http?dá algum erro?A logica seria a mesma do www..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu uso sempre essa função.. e para mim ela funciona.

qq coisa.. tenta adptar ela para a sua necessidade..

 

ela faz basicamente o seguinte...

verificar se o usuario digitou http:// se não digitou eu concateno antes de mostrar ou fazer um link.

 

ASP

[*]Function ConverteLink(vfnLink)

[*] if vfnLink <> "" then

[*] Dim vInicio

[*] vInicio = Mid(vfnLink, 1, 7)

[*] if vInicio = "http://" then ConverteLink = vfnLink else ConverteLink = "http://" & vfnLink

[*] end if

[*]End Function

 

para chamar ela:

ASP

[*]Response.write ConverteLink("www.digitale.com.br")

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.