Foros del Web » Programando para Internet » PHP »

Ayuda con expresion regular

Estas en el tema de Ayuda con expresion regular en el foro de PHP en Foros del Web. Buenas compis, Tengo un problema con una expresión regular, se que no debe ser dificil pero no lo consigo. Os explico. Leo el contenido de ...
  #1 (permalink)  
Antiguo 03/01/2010, 07:19
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Buenas compis,

Tengo un problema con una expresión regular, se que no debe ser dificil pero no lo consigo. Os explico.

Leo el contenido de una web html y me interesa sacar el numero identificador de estas 5 lineas

<a id="BetSlip1_Repeater1_ctl00_remove" title="Cancelar" href="javascript:RemoveBetSlipInfo(58520028)">
<a id="BetSlip1_Repeater1_ctl02_remove" title="Cancelar" href="javascript:RemoveBetSlipInfo(58763912)">
<a id="BetSlip1_Repeater1_ctl04_remove" title="Cancelar" href="javascript:RemoveBetSlipInfo(58519994)">
<a id="BetSlip1_Repeater1_ctl06_remove" title="Cancelar" href="javascript:RemoveBetSlipInfo(58763747)">
<a id="BetSlip1_Repeater1_ctl08_remove" title="Cancelar" href="javascript:RemoveBetSlipInfo(58486239)">


PARSER
Código PHP:
Ver original
  1. function get_match($regex,$content)
  2. {
  3.     preg_match($regex,$content,$matches);
  4.     return $matches[1];
  5. }
  6.  
  7. //obtengo el contenido de la web
  8. $web_content = @file_get_contents('https://www.bwin.com/es/betSlip.aspx');
  9.  
  10. //Obtengo el titulo de la web
  11. $titulo = get_match('/<title[^>]*>(.*)<\/title>/is',$web_content);
  12. echo "Titulo: $titulo";
  13. echo "<br/>";
  14.  
  15. //Obtengo los identificadores
  16. $codigo= get_match('/RemoveBetSlipInfo(.*?)">/is',$web_content);
  17. echo "Partido: $codigo";
  18. echo "<br/>";

Pero solo me muestra el titulo, los identificadores no los coge.

Me podéis echar una mano?

Muchas gracias de antemano!

He conseguido sacar la expresión regular

Código PHP:
Ver original
  1. preg_match_all("/RemoveBetSlipInfo(.*)\">/", $web_content, $coincidencias, PREG_SET_ORDER);
  2.  
  3. foreach ($coincidencias as $val) {
  4.     //echo "coincidencia: " . $val[0] . "<br/>";
  5.     echo "Identificador: " . $val[1] . "<br/>";
  6. }

Sin embargo, me he dado cuenta que solo funciona si me bajo la web y la analizo en local. El enlace que os he pasado antes no funciona si lo llamas directamente https://www.bwin.com/es/betSlip.aspx

Lo cual es una gran putada...

El objetivo es sacar los 5 partidos "top" que pone bwin.es en su página (parte derecha tablón de apuestas "Las 5 apuestas más populares entre nuestros usuarios. ") y guardar su identificador.

¿Alguien sabría de que manera se podría hacer? si os fijáis la parte donde está el tablón es un frame, de ahí que pensaba que si cogía su url directamente podría parsear esa zona...

Muchas gracias de antemano!

Buenas,

No he conseguido leer el apartado derecho de la web, el que indicaba en el post anterior. ¿Alguien puede decirme de que manera puedo leerlo y extraer los identificadores con la expresión regular anterior?

Imagino que la cosa va de cookies y/o sesiones, ¿es imposible leer ese frame por separado?

Muchas gracias de antemano!

Última edición por GatorV; 04/01/2010 a las 10:55
  #2 (permalink)  
Antiguo 04/01/2010, 02:53
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 3 meses
Puntos: 19
Respuesta: Ayuda con expresion regular

Como accedes a la pagina desde php? Obtienes el codigo fuente en html?

Editado: Sí, va de cookies, tienes que elaborar un sistema para identificarte y controlar las cookies desde php.
  #3 (permalink)  
Antiguo 04/01/2010, 08:38
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Ayuda con expresion regular

Cita:
Iniciado por El-FeNiX Ver Mensaje
Como accedes a la pagina desde php? Obtienes el codigo fuente en html?

Editado: Sí, va de cookies, tienes que elaborar un sistema para identificarte y controlar las cookies desde php.
Juas... me puedes indicar como hago eso?

Muchas gracias de antemano!
  #4 (permalink)  
Antiguo 04/01/2010, 08:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con expresion regular

Cita:
Iniciado por neodani Ver Mensaje
Juas... me puedes indicar como hago eso?

Muchas gracias de antemano!
por favor, busca en el foro... hay un magnifico aporte sobre como utilizar sockets, cURL, etc... incluso, con uso de cookies...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 04/01/2010, 10:36
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 1 mes
Puntos: 20
Respuesta: Ayuda con expresion regular

Cita:
Iniciado por pateketrueke Ver Mensaje
por favor, busca en el foro... hay un magnifico aporte sobre como utilizar sockets, cURL, etc... incluso, con uso de cookies...
No si, el ejemplo del que hablas lo tengo en mis favoritos. Mas que nada me refería a saber que cookies son las necesarias para poder leer ese frame. Porque en la web te guarda mas de 15...

Por si tenia idea de alguna...
  #6 (permalink)  
Antiguo 04/01/2010, 10:53
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con expresion regular

Cita:
Iniciado por neodani Ver Mensaje
No si, el ejemplo del que hablas lo tengo en mis favoritos. Mas que nada me refería a saber que cookies son las necesarias para poder leer ese frame. Porque en la web te guarda mas de 15...

Por si tenia idea de alguna...
bueno, pues no somos adivinos... una ves mas!!

esa información la debes analizar tu, también ese es tu trabajo...

vaya, aunque nos digas la URL no creas que vamos a obtener la información para ti...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: expresion, regular
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 14:26.