Hola Novato. Si lo quieres hacer con expresiones regulares deberías aprender un poco, en lugar de hacer pruebas a lo loco, es una verdadera locura
, no es complicado cuando le coges el tranquillo, pero si no es todo un galimatías, y si no sabes que estas utilizando no sabes que resultados vas a poder obtener.
Lo primero es que la diferencia entre preg_match y preg_match_all es que preg_match solo te devuelve la primera coincidencia en el array de valores, mientras que preg_match_all te las devuelve todas.
Lo segundo, una regla bien sencilla es:
/^<img.+src=.+>$/i
Quiere decir que:
- Empieza la cadena: ^
- los primeros carateres son: <img
- después, y hasta encontrar: src
- puede haber uno o más carateres:(primer) .+
- despues de src tambien puede haber uno o más caracteres:(segundo).+
- hasta encontrar un caracter de cierre de etiqueta: >
- termina la cadena: $
- y especificamos que no distinga entre mayúsculas y minúsculas: i, ya que puede haber alguna definida como IMG o con SRC
- Y todo ello englobado dentro de / /
Habrá imágenes sin "src" con un evento onload() por ejemplo, y otras que tengan rutas locales y por eso no te las muestre.
Si tienes una del tipo <img src="../load/images/imagen.png"/> lo más probable es que no puedas sacar la ruta de forma automática porque no estén basadas en root/load/images/imagen.png, si no que sean por ejemplo root/admin/logos/load/images/imagen.png
Tendrías que procesar cada imagen, ver si la ruta es completa, y si no lo es, sabiendo de que url la sacas añadírsela al comienzo.
Para extraer solo la ruta deberías usar algo así:
/^<img.+src="(.+)".+>$/i
Donde todo lo que haya entre el paréntesis será al ruta de la imagen y después llamándolo con $1 lo puedes añadir como parámetro. Lo del paréntesis sería algo más complejo porque habría que espicidicar que si empieza con dos puntos se eliminen del resultado (?:\.\.)*(.+)
Así que haz caso al compañero pateke y extrae mediante el DOM todos los atributos "src" de los elementos "img". Prueba con JQuery que a lo mejor te resulta más sencillo.
Si sigues con expresiones regualres esta página te ayuda a verificar si son válidas y a ver que te devuelve el parámetro $1
[URL="http://www.metriplica.com/es/recursos/expresiones-regulares"]http://www.metriplica.com/es/recursos/expresiones-regulares[/URL]