Foros del Web » Programando para Internet » PHP »

Capturar datos de una web con preg_match

Estas en el tema de Capturar datos de una web con preg_match en el foro de PHP en Foros del Web. Buen dia, Como podria obtener los datos del src de esta cadena <img class="profilePic img" alt="TIME" src="http://miweb.com" si el atributo alt contiene variables ( estos ...
  #1 (permalink)  
Antiguo 29/05/2014, 23:23
 
Fecha de Ingreso: enero-2011
Mensajes: 47
Antigüedad: 13 años, 3 meses
Puntos: 0
Capturar datos de una web con preg_match

Buen dia,
Como podria obtener los datos del src de esta cadena <img class="profilePic img" alt="TIME" src="http://miweb.com" si el atributo alt contiene variables (estos valores cambian constantemente)

aqui el codigo

$data = file_get_contents($string);

if (preg_match('|<img class="profilePic img" alt="TIME" src="(.*?)"|is' , $data, $cap)){

echo $cap[1];

aqui funciona correctamente si estuviera estático pero el los datos del atributo alt cambian

gracias por sus respuestas
  #2 (permalink)  
Antiguo 30/05/2014, 06:54
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Capturar datos de una web con preg_match

Aparentemente conoces (.*) ... por que no aplicarlo para alt ?
__________________
Salu2!
  #3 (permalink)  
Antiguo 30/05/2014, 07:39
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Capturar datos de una web con preg_match

Seria mas sencillo si usaras: http://simplehtmldom.sourceforge.net/
Código PHP:
Ver original
  1. // Create DOM from URL or file
  2. $html = file_get_html('http://www.google.com/');
  3.  
  4. // Find all images
  5. foreach($html->find('img') as $element)
  6.        echo $element->src . '<br>';
Si hay forma de reutilizar código úsalo!
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: variable
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 03:49.