2010-11-04 1091 views
7

quiero conseguir algunas de las URL de las imágenes de Js/HTML:Uso de expresiones regulares para obtener URL de la imagen en HTML/Js

var a = "http://sub.domain.com/uploads/files/11-11-2011/345301-574-1182-393/2202.jpg"; 
var b = "http://sub.domain.com/uploads/files/23-11-2011/234552-574-2321-232/asd.png"; 

en busca de solución que detectará URL de la imagen. Así que la salida será:

http://sub.domain.com/uploads/files/11-11-2011/345301-574-1182-393/2202.jpg 
http://sub.domain.com/uploads/files/23-11-2011/234552-574-2321-232/asd.png 

Gracias!

+2

Para que quede claro: Usted desea escanear un archivo fuente HTML entera que también contiene el JavaScript para cadenas URL en las secciones de JavaScript? – Tomalak

Respuesta

23

Basado de la información que has dado, esto debería funcionar:

(https?:\/\/.*\.(?:png|jpg)) 

puede agregar más extensiones mediante la adición de |ext después jpg. Esto también permitirá cadenas con https.

Nota: Es posible que desee utilizar el sensible a mayúsculas modificador i para hacer la captura más inclusiva. Este sería el resultado:

/(https?:\/\/.*\.(?:png|jpg))/i 
+6

Esto fallará en situaciones como src = "https://mail.google.com/mail/u/0/images/cleardot.gif" style = "background: url (https://ssl.gstatic.com/mail) /sprites/general-51d583f1fd064eadd1975a8bdef3ef93.png). Lo que funciona para mí es (https?: \/\/[^] * \. (?: gif | png | jpg | jpeg)) – Amarsh

+5

Creo que esto es mejor: ' (http)? s?:? (\/\/[^ "'] * \. (?: png | jpg | jpeg | gif | png | svg))' – hayatbiralem

+0

sí +1: por ejemplo: someurl.svg. png (wiki ej.) –

3

Prueba esto:

/"(http://[^"]*?\.(jpg|png))"/g 

$ 1 es lo que desea.

8

Un poco tarde a la fiesta, pero al tratar de hacer algo similar a la OP, creé la siguiente expresión regular, que parece manejar enlaces relativos, así como los absolutos:

/([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))/i 
+0

combina todo pero lento! gracias de cualquier manera – 3zzy

-1

var regex = /(http[s]?://.*((?:png|jpg|gif|svg|jpeg))/i;

Este es el resultado que desea

Cuestiones relacionadas