/** *********************************** * * * Función para sacar Urls de imágenes * * * **************************************/ function imgurl($url){ //$url ha de tener código html, en el caso de que quieras abrir una página se utiliza $url = file($url); //buscamos la etiqueta <img> con la siguiente expresión regular if(preg_match_all('/<img.*?src=(\'|")((http|https|ftp|\/)\s*)([^\s]*)(\'|")/', $url, $resultado, PREG_SET_ORDER)){ //creamos una variable y la declaramos vacia $addimg = ''; //itineramos los resultados foreach ($resultado as $sresultado){ //volvemos a hacer una expresión regular, en este caso con preg_replace para quitar todo lo innecesario $addimg2 = preg_replace('/<img.*?src=(\'|")/i', '', $sresultado[0]); $addimg .= preg_replace('/".*?/i', '', $addimg2).'<br>'; } //puesto que no me interesa el último caracter de addimg ya que es una "," lo elimino con substr $addimg = substr ($addimg, 0, -1); return $addimg; } }Trabajar con expresiones regulares puede llegar a ser difícil, pero con un poco de estudio se resuelve rápido. En esta función, lo que más problemas puede dar, es obviar lo que haya entre <img y src=, como atributos width, height, class, alt... Con la expresión (.*?) obviamos cualquier elemento que se repita 0 o más veces en la expresión entre img y src. Para más información: preg_match_all y preg_replace
Os recomiendo que os leáis el siguiente tutorial que lo explica "for dummies":
No hay comentarios:
Publicar un comentario