No es el caso.
El caso es que me encuentro intentado aprovechar las muchas ventajas ( eso dicen ) que brindan las expresiones regulares en un programa que estoy haciendo.
Mi problema es el siguiente :
Tengo el siguiente texto :
Código:
Como podeis comprobar es un texto en HTML, mi intencion es extraer el texto que hay entre las distintas etiquetas, por ejemplo, extraer lo que hay entre las etiquetas <td id="tddescripcion"> </td></tr> <tr> <td id="tdencabezado" align="left" style="font-family:Arial, Helvetica, sans-serif;font-size:11px;"><br /><a href="seccion.php?Codtienda=16573&Seccion=1">Portatiles</a> --> <a href="busqueda.php?Codtienda=16573&Familia=211&Seccion=1">Portatiles 15 y 15.4"</a> --> Intel Core2 Duo </td> </tr> </table> <table align="center" id="DetalleProducto"> <tr> <td id="tdencabezado"> Portatil ACER TM5720G-302G25MI (Intel Core2 Duo T7300 1,8/2GB DDR2 250GB/DVD RW/15.4/VHP) </td> </tr> <tr> <td id="tdimagen"> <img src='http://www.munolito.es/images/grandes/28966.jpg'/> </td> </tr> <tr> <td id="tdencabezado"> Precio: 566.04€ (I.v.a Incluido) </td> </tr> <tr> <td id="tddescripcion1"> Acer TravelMate 5720G-302G25Mi - Core 2 Duo T7300 / 2 GHz - Centrino Duo - RAM 2 GB - disco duro 250 GB - DVD±RW (±R DL) / DVD-RAM - Mobility Radeon X2500 HyperMemory de hasta 1 G - Gigabit Ethernet - WLAN : 802.11a/b/g - Vista Home Premium - 15.4" Panorámico TFT 1280 x 800 ( WXGA ) - integrado. </td> </tr> <tr> <td id="tddescripcion"> Intel Core 2 Duo T7300 / 2 GHz ( Dual-Core ). Memoria caché 4 MB - L2. Memoria RAM 2 GB (instalados) / 4 GB (máx.) - DDR II SDRAM ( 2 x 1 GB ). Lector de tarjetas 5 en 1. Disco duro 250 GB - Serial ATA-150 - 5400 rpm. Almacenamiento óptico DVD±RW (±R DL) / DVD-RAM - integrado. Display 15.4" TFT 1280 x 800 ( WXGA ) - 24 bits (16,7 millones de colores). Controlador gráfico ATI Mobility Radeon X2500 - 256 MB. Tecnología de asignación de memoria HyperMemory de hasta 1 G. Tarjeta de sonido. Fax / módem - 56 Kbps. Adaptador de red - Ethernet, Fast Ethernet, Gigabit Ethernet, IEEE 802.11b, IEEE 802.11a, IEEE 802.11g. NIC inalámbrico Intel PRO/Wireless ABG. Cámara de portátil Integrado - 0.3 megapíxeles. Interfaces: 4 x Hi-Speed USB - 4 PIN USB tipo A, 1 x pantalla / vídeo - DVI-Digital - DVI digital de 24 espigas, 1 x IEEE 1394 (FireWire), 1 x infrarrojos - IrDA, 1 x pantalla / vídeo - VGA - HD D-Sub de 15 espigas (HD-15), 1 x pantalla / vídeo - salida S-Video, 1 x audio - salida de línea/auriculares - estéreo 3,5 mm, 1 x módem - línea telefónica - RJ-11, 1 x red - Ethernet 10Base-T/100Base-TX/1000Base-T - RJ-45, 1 x micrófono - entrada - 3.5 mm, 1 x audio - entrada de línea 3.5 mm. Dispositivo de entrada: Teclado, touchpad, botón de desplazamiento de 4 vías. Alimentación CA 120/230 V ( 50/60 Hz ). Batería Ion de litio. Sistemas operativos Microsoft Windows Vista Home Premium. Dimensiones (Ancho x Profundidad x Altura) 36 cm x 26.7 cm x 4.3 cm. Peso 2.9 kg. </td> </tr> </table> </div> </td> <td class="tdizda"> <table cellspacing="0" class="tablamenuizda"> <tr> <td class="enlace_menu_izda" onmouseover="this.className='enlace_menu_izda_sobre';" onmouseout="this.className='enlace_menu_izda';""> Portatiles </td> </tr>
Mi problema es simplemente que no tengo ni idea de que expresion regular utilizar.
He intentado varias cosas, como esta
"<td id=""tddescripcion"">\s*(\w*)\s*</td>"
Lo que yo pensaba que haria esta expresion es agrupar todo lo que habia entre > y </td> es decir lo que es la descripcion.
He probado quitando los \s*. La \w tambien he probado a quitarla, pero creo que es necesaria porque quiero buscar los caracteres alfanumericos.
Realmente nose como hacerlo, ya que es la primera vez que me peleo con las expresiones regulares, y estoy leyendo muchos tutoriales, y muchas "condiciones" de las expresiones regulares, lo que significa cada simbolo que puedas poner, pero aun asi, algo tan sencillo ( creo ) como es esto, aun no consigo hacerlo.
¿ Alguien me puede iluminar un poco en este tema ?
Muchas gracias