Ir para conteúdo

POWERED BY:

Arquivado

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

VFNCRI

[Resolvido] Pegar somente o caminho da imagem de uma string

Recommended Posts

(Ao Admin: Tenho um perfil antigo, mas por ser um e-mail do terra, não recebo a senha novamente, diz que foi enviado mais não chega nada, mais de 2 dias, poderia verificar? pachecovisk@terra.com.br)

 

Bom dia,estou com dificuldades em pegar SOMENTE o caminho da imagem, exemplo:

texto = "registro tem imagem <img src='http://pode-variar.com/pode-variar.jpg' /> <p>pode ter html junto</p>"

Preciso apenas o http://pode-variar.com/pode-variar.jpg

 

Mas as vezes pode não ter imagem como por exemplo:

texto = "sem imagem <p>pode ter html junto</p>"

 

Esse "texto" vem de vários feeds de notícias, então não tenho acesso aos feeds gerados, as vezes pode estar no meio do texto e o caminho do site e da imagem nunca serão parecidos ou iguais, preciso apenas do caminho da imagem.

 

Tentei:

texto = "registro tem imagem <img src='http://pode-variar.com/pode-variar.jpg' /> <p>pode ter html junto</p>"

ss = texto
v =split(ss,"<img",2)
ss = v(ubound(v)) 
v = split(ss,"/>",2)
sss = v(lbound(v))
response.Write sss

 

Da certo, mas se "texto" não tiver imagem:

 

texto = "não tem imagem <p>pode ter html junto</p>"

ss = texto
v =split(ss,"<img",2)
ss = v(ubound(v)) 
v = split(ss,"/>",2)
sss = v(lbound(v))
response.Write sss

Me retorna todo o restante do texto, queria que volta-se vazio.

 

Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido com regex

 

<%str = "registro tem imagem <img src='http://pode-variar.com/pode-variar.jpg' /> <p>pode ter html junto</p>"set re        = new regexpre.ignorecase = truere.global     = truere.pattern    = "<img[^>]* src=\'([^\""]*)\'[^>]*>"set matches   = re.execute(str)if matches.count > 0 Then   response.write matches(0).submatches(0)else   response.write "nenhuma imagem encontrada na string"end if%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora tive um problema...

 

Se tiver alt ou style, ou os 02 na imagem, exemplo:

 

<%
str = "registro tem imagem <img src='http://pode-variar.com/pode-variar.jpg' alt='fedeu' style='fedeu' /> <p>pode ter html junto</p>"

set re = new regexp
re.ignorecase = true
re.global = true
re.pattern = "<img[^>]* src=\'([^\""]*)\'[^>]*>"
set matches = re.execute(str)

if matches.count > 0 Then
response.write matches(0).submatches(0)
else
response.write "nenhuma imagem encontrada na string"
end if
%>
Ou seja, cada feed tem uma situação diferente, preciso ignorar e pegar somente o caminho da imagem.

 

Pode até surgir um rel='fedeu' ... e agora? Rs!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se algum dia alguém precisar, solução:

 

<%
str = "registro tem imagem <img src='http://pode-variar.com/pode-variar.jpg' alt='fedeu' style='fedeu' /> <p>pode ter html junto</p>"

set re        = new regexp
re.ignorecase = true
re.global     = true
'solução
re.pattern    = "\<img\s[^\>]*?src=[""']([^""']*?\.(jpg|jpeg|bmp|gif|png)(\?[^""']*)?)[""'][^\>]*\>"
'solução
'usado anteriormente
're.pattern    = "<img[^>]* src=\'([^\""]*)\'[^>]*>"
set matches   = re.execute(str)

if matches.count > 0 Then
  response.write matches(0).submatches(0)
else
  response.write "nenhuma imagem encontrada na string"
end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa ficou legal e podemos incrementar mais....

existem muitos ótimos exemplos sobre regular expressions, vou postar um também.

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.