Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/12/2003, 03:26
fran86
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 24 años, 2 meses
Puntos: 8
Lo que te puse tenia un pequeñito error, me comi una "s":
tendria que ser asi:
Código PHP:
$pathimgs = array_merge($pathimgs, $match[1]); 
Igualmente, "debuguendo" esto me di cuenta que la expresion regular no cazaba algunas situaciones, asi que me puse las pilas que creo que quedo joya

La funcioncita quedo asi:
Código PHP:
/**
* Imagenes de un archivo HTML
* 
* Examina un archivo HTML en busca de sus imagenes para
* luego devolver su correspondiente direccion relativa.
* 
* @author  fran86       <[email protected]>
* @param   string       $archivo      Path correspondiente al HTML a examinar.
* @param   bool         $norepetidos  Opcional para no repetir las imagenes.
* @return  array|false  Array con los paths relativos de las imagenes
* 
*/
function imagenesHTML($archivo, $norepetidos = true)
{
    
$contenido = file($archivo);
    
$contenido = array_map("trim", $contenido);
    
$contenido = implode(" ", $contenido);

    if ( 
preg_match_all('/<img([^<>]+)>/i', $contenido, $match) ) {
            foreach(
$match[1] as $atributos) {
                if ( 
preg_match('/src="([^"]+)"/i', $atributos, $matchpaths) ) {
                    
$pathimgs[] = $matchpaths[1];
                } elseif ( 
preg_match('/src=([^ ]+)/i', $atributos, $matchpaths) ) {
                    
$pathimgs[] = $matchpaths[1];        
                }
                unset(
$matchpaths);
            }
    }
    if ( !empty(
$pathimgs) ) {
        if ( 
$norepetidos ) {
            return 
array_unique($pathimgs);
        } else {
            return 
$pathimgs;
        }
    } else {
        return 
false;
    }
} 
Documentada y todo!

Saluditos!

Última edición por fran86; 23/12/2003 a las 03:34