Foros del Web » Programando para Internet » PHP »

Ayuda para escribir expresion regular

Estas en el tema de Ayuda para escribir expresion regular en el foro de PHP en Foros del Web. Hola amigos, estoy intentando crear una expresion regular para extraer una info de una web, quisiera saber como construirla para aplicarla a la funcion pre_macth_all. ...
  #1 (permalink)  
Antiguo 02/03/2010, 19:04
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Exclamación Ayuda para escribir expresion regular

Hola amigos, estoy intentando crear una expresion regular para extraer una info de una web, quisiera saber como construirla para aplicarla a la funcion pre_macth_all. El texto a extraer extario puesto de esta forma:

Código HTML:
Ver original
  1. <td class="value">
  2.     17
  3.   </td>
  4. </tr></table>

Intente crearla y mismo pero no ayc aso, jejej. Espero que alguien me pueda ayudar


Saludos
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #2 (permalink)  
Antiguo 03/03/2010, 03:15
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Ayuda para escribir expresion regular

o sea que quieres extraer?
solo el "17"

¿o todo ese código?
  #3 (permalink)  
Antiguo 03/03/2010, 10:25
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda para escribir expresion regular

Cita:
Iniciado por memoadian Ver Mensaje
o sea que quieres extraer?...
Cita:
Iniciado por tonchii Ver Mensaje
El texto a extraer extario puesto de esta forma: ...
En cuanto a tu problema, yo lo veo mas facil de hacer con la clase DOMDocument de PHP.
__________________
HV Studio
Diseño y desarrollo web
  #4 (permalink)  
Antiguo 03/03/2010, 14:24
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ayuda para escribir expresion regular

Claro, lo que necesito es extraer el 17, lo quiero hacer con expresiones regulares si puede ser
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #5 (permalink)  
Antiguo 03/03/2010, 14:32
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Ayuda para escribir expresion regular

Cita:
Iniciado por tonchii Ver Mensaje
Claro, lo que necesito es extraer el 17, lo quiero hacer con expresiones regulares si puede ser
Perdona que insista, peor por algun motivo en especial es que lo queres hacer asi? es por "practica"??

Te repito, me parece mas sencillo con la clase que te dije antes... pero bueno, es a tu gusto. Yo soy PESIMO con expresiones regulares...

Un saludo.
__________________
HV Studio
Diseño y desarrollo web
  #6 (permalink)  
Antiguo 03/03/2010, 16:10
Avatar de tonchii  
Fecha de Ingreso: noviembre-2008
Mensajes: 159
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Ayuda para escribir expresion regular

Estuve investigando sobre DOM pero no se por donde epezar, tienes algun manual para recomendarme??
__________________
Por que solo seremos dueños de aquello que creemos y amemos
  #7 (permalink)  
Antiguo 04/03/2010, 00:41
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Ayuda para escribir expresion regular

Hola,

Posiblemente,

Código PHP:
<?php

$p 
= <<<EOF
<table>
  <tr><td class="value">1000</td></tr>
  <tr><td class="other" style="background-color: red">2000
  </td></tr>
  <tr>
  <td>
  3000 documentos
  </td></tr>
  <tr><td class="noclass"></td></tr>
</table>
EOF;

echo 
preg_match_all('/<td.*>\s*\b(.+)\s*<\/td>/Uis'$p$r);
print_r ($r);

?>
Saludos,

Etiquetas: escribir, 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 11:08.