Foros del Web » Programando para Internet » PHP »

Obtener datos con expresiones regulares

Estas en el tema de Obtener datos con expresiones regulares en el foro de PHP en Foros del Web. Hola, tengo un problema con un trozo de còdigo en html que estoy intentando parsear.... el trozo de código html seria el siguiente: Código HTML: ...
  #1 (permalink)  
Antiguo 22/12/2005, 06:27
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 12 años, 8 meses
Puntos: 1
Exclamación Obtener datos con expresiones regulares

Hola, tengo un problema con un trozo de còdigo en html que estoy intentando parsear....

el trozo de código html seria el siguiente:
Código HTML:
...
<div align="left"> <font size="2"><font face="Tahoma" color="#000000">
					&nbsp;Apadrinado por:</font></font><font face="Tahoma" size="2" color="#000000">


						<div align="left" valign="middle">
						<font size="2" face="Tahoma" color="#000000"><b>&nbsp;&nbsp;
						XXX
						<div align="left" valign="middle">
						<font size="2" face="Tahoma" color="#000000"><b>&nbsp;&nbsp;
						YYY
					</b></font>
					</div>
...
la cuestion es que me gustaria poder obtener en una variable los nombres de las personas que apadrinan, es decir:

$variable=> XXX<br>YYY

para ello utilizo las expresiones regulares, pero en esta parte estoy encallada

lo que hago es: ($v es donde esta el codigo html)

Código PHP:
preg_match (  "/Apadrinado por:<\/font><\/font><font face=\"Tahoma\" size=\"2\" color=\"#000000\"> (<div align=\"left\" valign=\"middle\"> <font size=\"2\" face=\"Tahoma\" color=\"#000000\"><b>&nbsp;&nbsp;([^<]+))*/i"$v$matches ); 
y luego haciendo un:
Código PHP:
echo "<pre>";
print_r($matches);
echo 
"</pre>"
me sale lo siguiente:

Array
(
[0] => Apadrinado por:
XXX
YYY
[1] => YYY
[2] => YYY
)

cuando en los campos [1] y [2], debería haber respectivamente XXX y YYY.


Alguien sabe arreglarme la expresion regular???? yo la verdad es que ya no se que hacer más....

Graciasssssssss
__________________
La sangre son las lágrimas del alma...
  #2 (permalink)  
Antiguo 22/12/2005, 06:40
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 12 años, 8 meses
Puntos: 1
Solucion encontrada

Probé de otra forma:
Código PHP:
preg_match_all (  "/<div align=\"left\" valign=\"middle\"> <font size=\"2\" face=\"Tahoma\" color=\"#000000\"><b>&nbsp;&nbsp;([^<]+)/i"$v$matches );
    
$apadrina=implode("<br>",$matches[1]);
    
$disc[$i]['apadrinado_por'] = html_entity_decode($apadrina); 
y ya funciona perfectamente...

Skaperna
__________________
La sangre son las lágrimas del alma...
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 13:24.