Ver Mensaje Individual
  #11 (permalink)  
Antiguo 06/06/2011, 13:18
Avatar de abimaelrc
abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 8 meses
Puntos: 1517
Respuesta: Leer contenido entre etiquetas html

Podrías hacerlo de esta forma
Código PHP:
Ver original
  1. <?php
  2. $html = <<<HTML
  3. <html>
  4. <head>
  5. <title>FooBar</title>
  6. </head>
  7. <body>
  8. <table id="foo">
  9.     <tr>
  10.         <td style="width: 168px">foo</td>
  11.         <td>bar</td>
  12.         <td style="width: 168px">baz</td>
  13.         <td>candy</td>
  14.         <td style="width: 168px">fruits</td>
  15.         <td>vegetables</td>
  16.     </tr>
  17. </table>
  18.  
  19. <table id="bar">
  20.     <tr>
  21.         <td>foo1</td>
  22.         <td>bar2</td>
  23.         <td>baz3</td>
  24.         <td>candy4</td>
  25.         <td>fruits5</td>
  26.         <td>vegetables6</td>
  27.     </tr>
  28. </table>
  29. </body>
  30. </html>
  31. HTML;
  32.  
  33. $doc = new DOMDocument();
  34. $doc->loadHTML($html);
  35. $xpath = new DOMXPath($doc);
  36. foreach($xpath->query('//table[@id="foo"]//td[@style="width: 168px"]') as $v){
  37.     echo $v->firstChild->nodeValue . '<br />';
  38. }

Edito:
Y si quieres todos los td, no importando en que tabla se encuentra y que sea específico con lo que me indicaste, lo puedes hacer así:
Código PHP:
Ver original
  1. <?php
  2. $html = <<<HTML
  3. <html>
  4. <head>
  5. <title>FooBar</title>
  6. </head>
  7. <body>
  8. <table id="foo">
  9.     <tr>
  10.         <td style="width: 168px">foo</td>
  11.         <td>bar</td>
  12.         <td style="width: 168px">baz</td>
  13.         <td>candy</td>
  14.         <td style="width: 168px">fruits</td>
  15.         <td>vegetables</td>
  16.     </tr>
  17. </table>
  18.  
  19. <table id="bar">
  20.     <tr>
  21.         <td>foo1</td>
  22.         <td>bar2</td>
  23.         <td>baz3</td>
  24.         <td>candy4</td>
  25.         <td>fruits5</td>
  26.         <td style="width: 168px">vegetables6</td>
  27.     </tr>
  28. </table>
  29. </body>
  30. </html>
  31. HTML;
  32.  
  33. $doc = new DOMDocument();
  34. $doc->loadHTML($html);
  35. $xpath = new DOMXPath($doc);
  36. foreach($xpath->query('//td[@style="width: 168px"]') as $v){
  37.     echo $v->firstChild->nodeValue . '<br />';
  38. }

Ahora a estudiar
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos