Ir para conteúdo

POWERED BY:

Arquivado

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

gUiTaR_mAn

[Resolvido] Transformar URL em Imagem

Recommended Posts

olá pessoal...

tenho um campo de texto longo na base de dados onde o usuário vai digitar uma mensagem, e poderá também colocar a URL de alguma imagem existente em um site qualquer...

 

o que eu preciso é que quando essa mensagem seja exibida não apareça a URL, mas sim a imagem que aquela url representa.

 

creio que seja a mesma idéia de transformar uma URL em link, mas ja procurei em Google, foruns, mas não consegui achar nada relacionado.

 

alguém pode me dar help nessa?

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

procure no laboratório de script de ASP uma função feita pelo jonathandj para tranformar os links, pegue a base da função e vá adaptando a necessidade, nada de especial é só parar um pouco e fazer (hehe)!!

 

coisa simples...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok cara... a função é bem interessante...

http://forum.imasters.com.br/index.php...=127877&hl=

foi facil modificar o codigo pra transformar a URL em imagem...

 

mas tentei criar uma condição, caso não fosse uma imagem ele criava apenas um link, mas não consegui...

será que alguem poderia me ajudar?

 

eu fix issu aki:

Function criaImg(strVar)
arr = split(strVar," ")
for i = 0 to uBound(arr)
  strAux = trim(arr(i))
  pos = lCase(inStr(arr(i),"www.")) 
  if pos <> 0 then
   strTxt = mid(strAux,pos,len(strAux))
   pos = inStr(strTxt,"/")
   if pos > 0 then
	strTexto = mid(strTxt,1,pos-1)
   else
	strTexto = strTxt
   end if   
   strAux = replace(strAux,"..","")
   strAux = replace(strAux,"??","")
   strAux = replace(strAux,"!!","")
   strAux = replace(strAux,",,","")
   strAux = replace(strAux,"--","")   
   arr2 = split(". , - / \; ? ! @ % #"," ")
   char = right(strAux,1)   
   for j = 0 to uBound(arr2)
	if arr2(j) = char then
	 strAux = left(strAux,len(strAux)-1)
	end if
   next 
   pos = inStr(strAux,"www") 
   strAux = mid(strAux,pos,len(strAux))   
   strValid = mid(strAux,pos,len(strAux)) 
   	strTxt = "<br><img src=""http://"&lCase(strAux)&"""><br>"
  else
   strTxt = strAux
  end if  
  saida = trim(" "&saida&" "& strTxt)
next
   If right(lCase(strValid), 3) = "jpg" OR right(lCase(strValid), 3) = "gif" Then
criaImg = saida
   else
   	response.Write(criaLink(strVar))
	End if
End Function

mas se entrar um link de imagem e uma url comum ele vai criar apenas a url para os dois itens...

 

aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi bem, mas veja se é isso:

<%
Function criaLink(strVar)
'autor: Jonathan R. Cardozo (jonathandj)
'data: 27/05/2007
'finalidade: criar links de forma dinâmica
arr = split(strVar," ")
for i = 0 to uBound(arr)
  strAux = trim(arr(i))
  pos = lCase(inStr(arr(i),"www.")) 
  if pos <> 0 then
   strTxt = mid(strAux,pos,len(strAux))
   pos = inStr(strTxt,"/")
   if pos > 0 then
	strTexto = mid(strTxt,1,pos-1)
   else
	strTexto = strTxt
   end if   
   strAux = replace(strAux,"..","")
   strAux = replace(strAux,"??","")
   strAux = replace(strAux,"!!","")
   strAux = replace(strAux,",,","")
   strAux = replace(strAux,"--","")   
   arr2 = split(". , - / \; ? ! @ % #"," ")
   char = right(strAux,1)   
   for j = 0 to uBound(arr2)
	if arr2(j) = char then
	 strAux = left(strAux,len(strAux)-1)
	end if
   next 
   pos = inStr(strAux,"www") 
   strAux = mid(strAux,pos,len(strAux))   
	 
	 posImagem = instrrev(strTxt,"/")
	 strImagem = mid(strTxt,posImagem+1)
	 posImagem = instr(strImagem,".")
	 strImagem = ucase(mid(strImagem,posImagem+1))
	 if mid(strImagem,1,3) <> "JPG" and mid(strImagem,1,3) <> "GIF" then 
	 	strTxt = "<a href=""http://"&lCase(strAux)&""" target=""_blank"">"&strTexto&"</a>"
	 end if	 
  else
   strTxt = strAux
  end if
  saida = trim(" "&saida&" "& strTxt)
next
criaLink = saida
End Function

meuTexto = "Url de teste para gerar o link : http://www.site.com/pasta/teste.jpg.. www.urldosite.com"
Response.Write(criaLink(meuTexto))
%>
favor manter créditos

Compartilhar este post


Link para o post
Compartilhar em outros sites

não é bem isso jonathan...

 

vamos supor que o usuário digite:

http://forum.imasters.com.br/style_emo...efault/excl.gif

então preciso que apareca a imagem http://forum.imasters.com.br/public/style_emoticons/default/excl.gif

 

depois, no mesmo texto ele digita:

www.google.com.br

então então, como não é um link de imagem, deverá aparecer apenas o link

http://www.google.com.br

 

agradeço se puder me dar essa força..

aguardo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, vamos la

1º verifica se o ultimo ponto contem 3 caracteres, isso significa que pode ser uma pagina .asp; .php ou .gif; .jpg

depois você verifica se é um formato de imagem

 

seria isso?

 

========

editando

 

<%
url_digitada = "http://www.sss.com.br/sss.gif"
quebra_url = right(url_digitada, 4)

response.Write quebra_url & "<br />"

if quebra_url = ".jpg" or quebra_url = ".gif" or quebra_url = ".bmp" or quebra_url = "jpeg" then
response.Write "imagem"
else
response.Write "ñ é imagem"
end if
%>

agora você ja sabe se é imagem ou nao

era isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mais gUiTaR_mAn você fala, em um campo de texto, lá no meio do texto tem um link, ou um campo específico para link??

Compartilhar este post


Link para o post
Compartilhar em outros sites

se for em um texto que pode ou não conter endereço da imagem ou link só adaptar o que passei:

<%
Function criaLink(strVar)
'autor: Jonathan R. Cardozo (jonathandj)
'data: 27/05/2007
'finalidade: criar links de forma dinâmica
arr = split(strVar," ")
for i = 0 to uBound(arr)
  strAux = trim(arr(i))
  pos = lCase(inStr(arr(i),"www.")) 
  if pos <> 0 then
   strTxt = mid(strAux,pos,len(strAux))
   pos = inStr(strTxt,"/")
   if pos > 0 then
	strTexto = mid(strTxt,1,pos-1)
   else
	strTexto = strTxt
   end if   
   strAux = replace(strAux,"..","")
   strAux = replace(strAux,"??","")
   strAux = replace(strAux,"!!","")
   strAux = replace(strAux,",,","")
   strAux = replace(strAux,"--","")   
   arr2 = split(". , - / \; ? ! @ % #"," ")
   char = right(strAux,1)   
   for j = 0 to uBound(arr2)
	if arr2(j) = char then
	 strAux = left(strAux,len(strAux)-1)
	end if
   next 
   pos = inStr(strAux,"www") 
   strAux = mid(strAux,pos,len(strAux))   
	 
	 posImagem = instrrev(strTxt,"/")
	 strImagem = mid(strTxt,posImagem+1)
	 posImagem = instr(strImagem,".")
	 strImagem = ucase(mid(strImagem,posImagem+1))
	 if mid(strImagem,1,3) <> "JPG" and mid(strImagem,1,3) <> "GIF" then 
		 strTxt = "<a href=""http://"&lCase(strAux)&""" target=""_blank"">"&strTexto&"</a>"
	 else
		 strTxt = "<img src=""http://"&lCase(strAux)&""" height=""100"" >"
	 end if	 
  else
   strTxt = strAux
  end if
  saida = trim(" "&saida&" "& strTxt)
next
criaLink = saida
End Function

meuTexto = "Url de teste para gerar o link : http://www.site.com/pasta/teste.jpg.. www.urldosite.com"
Response.Write(criaLink(meuTexto))
%>
perceba que apenas coloquei um ELSE para escrever a tag IMG

Compartilhar este post


Link para o post
Compartilhar em outros sites

issu cara...

ta show de bola!

 

so ta dando um probleminha,

por exemplo... se eu digitar:

 

www.google.com.br

acessem esse site

o sistema vai criar o html dessa forma:

<a href="http://www.google.com.br<br>

acessem" target="_blank">www.google.com.br<br>

acessem</a> esse site

na página ficaria assim

ou seja, ele juntou a quebra de linha e a palavra "acessem" e colocou tudo no link...

o mesmo problema acontece na imagem e faz com que o sistema nao consiga localizar nenhuma imagem.

 

tem alguma forma de corrigirmos isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu tedk'

a falha ocorria pois o propósito era criar apenas links de textos vindos de um textarea e não vindos do banco com tags html. Um pequeno tratamento na função resolveu, ai aproveitei pra verificar links https e de ftp

:D

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.