传递一个html文件并使用PHP从表中获取值?

时间:2011-03-31 09:56:40

标签: php mysql html html-parsing

我在表格中的html页面上有这么长的课程列表,即

<tr class="navyLightgrey">
<td>3ADC7S1</td><td>SOFTWARE PROJECT MANAGEMENT (IIT Sri Lanka)</td><td align="Center">2009/0</td><td align="Center">Y</td><td align="Center">

<a id="dgModules__ctl2_lnkModule" href="http://example.com">View</a>

             </td>

            </tr>

<tr class="navyLightgrey">
<td>3ADC7S2</td><td>SOFTWARE ARCHITECTURE (IIT Sri Lanka)</td><td align="Center">2009/0</td><td align="Center">Y</td><td align="Center">

<a id="dgModules__ctl3_lnkModule" href="http://example.com" target="_self">View</a>

           </td>

             </tr>

这是以这种格式完成的。我希望获得第二个td的值,其中每个tr项目都包含课程名称,即SOFTWARE ARCHITECTURE(IIT Sri Lanka)和SOFTWARE PROJECT MANAGEMENT(IIT Sri Lanka)。我想通过html页面做一个while循环并获取每个值并回显它。感谢

3 个答案:

答案 0 :(得分:2)

$html = 'your html';
$dom = new DOMDocument();
$dom->loadHTML($html); // or loadHTMLFile

$xpath = new DOMXPath($dom);
$arrNodes = $xpath->query('//tr/td[2]/text()');

foreach($arrNodes as $node)
    echo $node->nodeValue . '<br />';

答案 1 :(得分:1)

使用DOMDocument::loadHTML,然后在DOMDocument中搜索正确的元素。

答案 2 :(得分:1)

用“HTML DOM Parser”完成。您可以使用,例如this one