Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: BlackM4ster en 19 Abril 2014, 14:17 pm



Título: Ayuda con Regex
Publicado por: BlackM4ster en 19 Abril 2014, 14:17 pm
Hola, estoy intentando sacar un valor de una web con Regex y PHP, pero esque no soy capaz :laugh: me siento más idiota jajajaja a ver si alguien me puede echar una mano

Tengo éste codigo, y quiero sacar el value

Código
  1. # Sacamos el SOURCE
  2. $ch = curl_init();
  3. curl_setopt($ch, CURLOPT_URL, "https://accounts.google.com/ServiceLogin");
  4. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  5. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  6. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  7. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36');
  8. curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
  9. curl_setopt($ch, CURLOPT_REFERER, "https://google.com/");
  10. $html = curl_exec($ch);
  11.  
  12. # Parseamos el GALX
  13. $busqueda = '/<input name="GALX" type="hidden" value="([^"]*)">/';
  14. preg_match($busqueda, $html, $match);
  15. print_r($match);
  16. //ALGO FALLA, NO HAY COINCIDENCIAS
  17.  
  18. # Ver el codigo fuente que estamos parseando
  19. echo htmlentities($html);
  20. //Se puede ver que existe ese trozo de código
  21.  

EDITO: He resuelto el problema, al parecer, el problema eran los espacios y los posibes saltos de linea

Código
  1. # Parseamos el GALX
  2. $busqueda = '/<input name="GALX"[\s]+type="hidden"[\s]+value="([^"]*)">/';
  3. preg_match($busqueda, $html, $match);
  4. echo $match[1];