我在表格中的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循环并获取每个值并回显它。感谢
答案 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。