Foros del Web » Programando para Internet » PHP »

Recuperar el HREF de una img

Estas en el tema de Recuperar el HREF de una img en el foro de PHP en Foros del Web. Hola, vamos intentarlo con otro nombre a ver si tiene mas respuestas. Tengo 2 funciones, Una busca las imágenes de mi sitio y la otra ...
  #1 (permalink)  
Antiguo 25/11/2005, 08:07
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 14 años
Puntos: 4
Recuperar el HREF de una img

Hola, vamos intentarlo con otro nombre a ver si tiene mas respuestas.
Tengo 2 funciones, Una busca las imágenes de mi sitio y la otra busca las Urls que están apuntadas .
Mi problema es que tengo imágenes que no tienen urls asignadas. Y no se como fusionar estas 2 funciones para armar una que detecte las imágenes y ya de paso vea si tiene una url asignada y me la de también . como parte de una array bidimensional
Del tipo:
Path[foto1][url1];
Path[foto2][url2];
Path[foto3][url3];

Solo las que tienen url asignadas nada mas ..

Les dejo aca las funciones , esto escapa a mis conocimientos por el momento espero algún día dejar de preguntar estas cosas.. :)



Código PHP:
// Esta es la FUNC para detectar mis 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


// La url de mi sitio
$paths imagenesHTML("http://www.misitio.com/");

////////////////////////////////



// Esta es la FUNC para detectar las Urls
function urlsHTML($archivo$norepetidos true

$contenido file($archivo); 
$contenido array_map("trim"$contenido); 
$contenido implode(" "$contenido); 

if ( 
preg_match_all('/<A([^<>]+)>/i'$contenido$match) ) { 
foreach(
$match[1] as $atributos) { 
if ( 
preg_match('/HREF="([^"]+)"/i'$atributos$matchpaths) ) { 
$pathimgs[] = $matchpaths[1]; 
} elseif ( 
preg_match('/HREF=([^ ]+)/i'$atributos$matchpaths) ) { 
$pathimgs[] = $matchpaths[1]; 

unset(
$matchpaths); 


if ( !empty(
$pathimgs) ) { 
if (
$norepetidos) { 
return 
array_unique($pathimgs); 
} else { 
return 
$pathimgs

} else { 
return 
false


// La url de mi sito..
$paths urlsHTML("http://www.misitio.com/"); 
Mil Graciasa a todos.
Apsol
  #2 (permalink)  
Antiguo 25/11/2005, 08:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Apsol
Cuando veas que no obtienes respuestas .. insiste en tus mesajes iniciados .. no se trata de probar suerte (de hecho aquí solemos unir los mensajes si hay respuestas y sino .. los eleminamos por repetidos). Te invito a leer estos consejos:

http://www.forosdelweb.com/f18/como-preguntar-foro-php-cosas-tener-cuenta-295415/

Un saludo,
  #3 (permalink)  
Antiguo 25/11/2005, 08:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 267
Antigüedad: 14 años
Puntos: 4
Entendido perfectamente,,, disculpa
  #4 (permalink)  
Antiguo 25/11/2005, 08:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Intenta graficar los datos que ambas funciones generan (para el que no pueda probar el código o tal vez no se domine con expresiones regulares como es lo que usan ambas funciones ..pero si que sepa por ejemplo trabajar con Arrays simples ...).

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.