Google
Web dns.bdat.net

[PHP-ES] Re: Caso Concreto de Expression Regular

From: Arkrelod (segoritek(EN)hotmail.com)
Date: Thu Sep 23 2004 - 16:48:40 CEST


Josep Maria Aribau Cano escribió:

> Hola phplisteros,
>
> Neccesito capturar los datos de un html remoto que se encuentran dentro
> de una tablas. Intento hacerlo con expressiones regulares pero no me
> sale. El texto que me interesa se encuentra dentro de <td>/<td>
>
> preg_match_all ('/<td>()</td>/',$html,$td);
>
> Os envio un cacho de lo que tengo que capturar:
>
> <table class="dt" border="1" cellpadding="2" cellspacing="2"
> width="85%"><tbody><tr><td class="dth3" colspan="2">AGULLANA
> (XMET)</td></tr><tr><td class="dtn2"><b>Data:</b> 22/09/2004</td><td
> class="dtn2" width="50%"><b>Hora:</b> 20,0 hora solar</td></tr><tr><td
> class="dtn2"><b>Temperatura:</b> 20,9 ºC</td><td
> class="dtn2"><b>Humitat:</b> 51 %</td></tr><tr><td
> class="dtn2"><b>Precipitació:</b> 0,0 mm</td><td
> class="dtn2"><b>Evapotranspiració:</b> 0,00 mm</td></tr><tr><td
> class="dtn2"><b>Velocitat del vent:</b> 4,9 m/s</td><td
> class="dtn2"><b>Direcció del vent:</b> 323 º</td></tr></tbody></table>
> <br>
> <table class="dt" border="1" cellpadding="2" cellspacing="2"
> width="85%"><tbody><tr><td class="dth3"
> colspan="2">CABANES</td></tr><tr><td class="dtn2"><b>Data:</b>
> 22/09/2004</td><td class="dtn2" width="50%"><b>Hora:</b> 21,0 hora
> solar</td></tr><tr><td class="dtn2"><b>Temperatura:</b> 21,0 ºC</td><td
> class="dtn2"><b>Humitat:</b> 50 %</td></tr><tr><td
> class="dtn2"><b>Precipitació:</b> 0,0 mm</td><td
> class="dtn2"><b>Evapotranspiració:</b> 0,00 mm</td></tr><tr><td
> class="dtn2"><b>Velocitat del vent:</b> 4,4 m/s</td><td
> class="dtn2"><b>Direcció del vent:</b> 339 º</td></tr></tbody></table>
>
>
>

No entiendo que es lo que hace este patrón. Te sugiero este:

preg_match_all("|<td ?[^ >]*>([^/]+)<\/td>|U",$html,$td);

en $td[0] tendràs las expresiones enteras de todos los trozos que
empiezan por <td ******> y terminan por </td>. En $td[1] tendrás sólo lo
que va ENTRE <td ******> y </td> de los mismo trozos encontrados.

Dime si te sirve, saludos!

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri Nov 12 2004 - 20:21:30 CET