PHP:从多个表中读取一个表

时间:2019-02-11 10:30:36

标签: php html

我正在创建一个项目,在这里我想读取一个HTML表,该表中有3个HTML表并打印其内容。我怎样才能做到这一点?从下面的代码中可以看到,我想从下面提到的表的ROW元素中获取元素。但是在此表之后,还有2个表,我不需要这些信息。当我运行PHP代码时,我可以从所有3个表中查看信息。谢谢。

<p>
    <div class="name-block" style="margin-left:200px; margin-top: 35px;">
        <h4 style="border: 1px solid black; display: inline;">TIM - Web Server Setup</h4>
    </div>
        <table id="webserver" align="center" class="table-block">
            <tr class="highlight">
                <td width="100"><div>IP address</div></td>
                <td width="900" contenteditable='true'>TEST</td>
            </tr>

            <tr class="highlight">
                <td width="100"><div>Netmask</div></td>
                <td width="900" contenteditable='true'>TEST</td>
            </tr>

            <tr class="highlight">
                <td width="100"><div>Gateway</div></td>
                <td width="900" contenteditable='true'></td>
            </tr>

            <tr class="highlight">
                <td width="100"><div>User</div></td>
                <td width="900" contenteditable='true'><div width="900" contenteditable></td></div>
            </tr>

            <tr class="highlight">
                <td width="100"><div>Password</div></td>
                <td width="900" contenteditable='true'><div width="900" contenteditable></td></div>
            </tr>

            <tr class="highlight">
                <td width="100"><div>Port</div></td>
                <td width="900" contenteditable='true'><div width="900" contenteditable></td></div>
            </tr>
        </table>

    </p>

       <p><input type="button" id="bt" value="Show Table Data"" /></p>

<?php

$data = file_get_contents('/var/www/html/page.php');

$doc = new domDocument;

@$doc->loadHTML($data);
 $i=0;
    while(is_object($finance = $doc->getElementsById("table")->item($i)))
       {
        foreach($finance->childNodes as $nodename)
          {
            if($nodename->nodeName=='tr')
              {
               foreach($nodename->childNodes as $subNodes)
                {
                 echo $subNodes->nodeName." - ".$subNodes->nodeValue."<br>";
               }
           }
           else
             {
              echo $nodename->nodeName." - ".$nodename->nodeValue."<br>";
             }
         }
      $i++;
    }
?>
//Other 2 tables below

1 个答案:

答案 0 :(得分:1)

您要引用的表具有一个ID,将此ID与getElementById结合使用以定位此特定表/元素。

getElementById返回单个元素,因此while循环不再相关。