Código HTML:
<table class="taula" id="nombre" cellspacing="0"> <tbody><tr> <td>Nom:</td><td>APELLIDO APELLIDO, NOMBRE NOMBRE</td> </tr><tr> <td>Número:</td><td>123456789</td> </tr><tr> <td> </td><td>EXERCENT</td> </tr> </tbody></table> <table class="taula" rules="rows" id="especialidad" border="1" cellspacing="0"> <tbody><tr> <td>AL•LERGOLOGIA</td> </tr><tr> <td>MEDICINA INTERNA</td> </tr> </tbody></table> <table class="taula" rules="rows" id="direccion" border="1" cellspacing="0"> <tbody><tr> <th scope="col">Adreça</th><th scope="col">CP</th><th scope="col">Comarca</th><th scope="col">Població</th><th scope="col">Telèfon</th><th scope="col">Correu electrònic</th> </tr><tr> <td>PG.DE GRACIA, 1, 1-2</td><td>08007</td><td> <span id="cosArea_cosInterior_DLAdress_lbl1_0">BARCELONES </span> </td><td> <span id="cosArea_cosInterior_DLAdress_lbl2_0">BARCELONA</span> </td><td>9312345678</td><td> <img id="cosArea_cosInterior_DLAdress_Image1_0" src="../../../handler/ImgMail.ashx?E=nPMG%2boWcZZKnSZ2Ftr8IT2BLFJFVlbRkGKkFc1nQHzs%3d&D=TGdqLLHnEsULuXqwFZbOTPuwzDLtVw26DSCtLyw4ukk%3d"> </td> </tr><tr> <td>DOS DE MAIG, 1-3, BXS-1 </td><td>08912</td><td> <span id="cosArea_cosInterior_DLAdress_lbl1_1">BARCELONES </span> </td><td> <span id="cosArea_cosInterior_DLAdress_lbl2_1">BADALONA</span> </td><td>9312345678</td><td> <img id="cosArea_cosInterior_DLAdress_Image1_1" src="../../../handler/ImgMail.ashx?E=&D="> </td> </tr> </tbody></table>
Lo que necesito recuperar de la segunda tabla id="especialidad", es la especialidad, aquí puede que haya un registro o varios, como es este el caso, que hay dos registro, uno de que AL•LERGOLOGIA, y otro que es MEDICINA INTERNA, pero pueden haber más, como máximo cuatro o cinto.
Lo que tengo que extraer de la tercera tabla que es id="dirección" es el nombre de la calle, el cod postal, la población, la provincia, el teléfono, y ya está la imagen del siguiente td no la necesito. En este caso al igual que en el anterior, existe la posibilidad de que hayan dos filas o tres filas de datos, en la mayoría sólo tendrán una única fila.
He intentado hacer un bucle con foreach para recorrer todas las celdas y sacar los datos de las mismas, y pasar los datos a un formulario para acabar de rellenar el dato correo electrónico que es un dato que tenemos que introducir a mano, pero no sé que hacer cuando existen varias direcciones y varias especialidades.
Podrías ayudarme?
. Hay múltiples formas de hacerlo o incluso puedes usar una librería para eso. Si lo haces a mano puedes hacerlo de una manera más o menos formal o de manera informal para salir del paso. Lo primero que tienes que pensar son las estructuras de datos que vas a utilizar para almacenar la información y luego la estructura de las tablas en la BD. Aunque podrías pasarlo directamente a la BD. Una vez que lo has pensado, parseas el documento por ejemplo usando expresiones regulares para localizar cada uno de los elementos... Te tienes que hacer un pequeño programilla que vaya localizando cada cosa y la vaya almacenando en las estructuras de datos o en la BD.

te daría el apoyo si el que pregunta usara Symfony pero no es el caso (puede que me equivoque y tengas poderes telepáticos, en cuyo caso sería genial ya que acertarías con la solución de una, que conste que no lo digo en mala onda)


