Foros del Web » Programando para Internet » PHP »

Alguno podria revisar esta Expresion Regular

Estas en el tema de Alguno podria revisar esta Expresion Regular en el foro de PHP en Foros del Web. Gente, Tengo una variable con mucho código html y datos. Código: $cadena = ' mucho codigo html <b>Debe&nbsp;($/u$s)</b></td><td align='right' bgColor=#d7e8d7 style='font-family: Arial;font-size: 9px;color:black;'><b>30.02 mucho código ...
  #1 (permalink)  
Antiguo 19/07/2009, 09:51
 
Fecha de Ingreso: mayo-2003
Mensajes: 312
Antigüedad: 20 años, 10 meses
Puntos: 2
Alguno podria revisar esta Expresion Regular

Gente,
Tengo una variable con mucho código html y datos.

Código:
$cadena = '
mucho codigo html
<b>Debe&nbsp;($/u$s)</b></td><td align='right'  bgColor=#d7e8d7 style='font-family: Arial;font-size: 9px;color:black;'><b>30.02
mucho código html
';
Lo que necesito extraer es
<b>Debe&nbsp;($/u$s)</b></td><td align='right' bgColor=#d7e8d7 style='font-family: Arial;font-size: 9px;color:black;'><b>30.02

Una vez extraida esa cadena
(<b>Debe&nbsp;($/u$s)</b></td><td align='right' bgColor=#d7e8d7 style='font-family: Arial;font-size: 9px;color:black;'><b>30.02)
extraeria el valor numerico: 30.02 que podría ser cualquier otro valor (variable) con o sin decimales.

En fin... Acá les dejo la expresion regular que yo armé, pero no me da resultado. Para extraer la primera cadena.

\<[^\>]+\>.+[D|d]ebe.|\W+[a-z][a-z]+\W+[a-z]|[A-Z]+\W+[a-z]|[A-Z]+\W+\<[^\>]+\>+\<[^\>]+\>\<[^\>]+\>+\<[^\>]+\>\d+\.\d+

Por favor, acepto corecciones y demas, ya que estoy aprendiendo.

Última edición por Dago; 19/07/2009 a las 11:52
  #2 (permalink)  
Antiguo 20/07/2009, 00:37
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Alguno podria revisar esta Expresion Regular

Creo que lo mas conveniente seria primero simplificar tu HTML, aplicando los estilos mediante clases CSS; si no puedes hacerlo, entonces primero pasa la cadena por un strip_tags(), permitiendo solamente <b>, reduciendola a:

<b>Debe&nbsp;($/s$s)</b><b>30.02</b>

Entonces puedes simplificar la expresion.
__________________
- León, Guanajuato
- GV-Foto
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 08:08.