我试图从表中提取一个特定的链接,但没有显示任何内容。这是td中的第三个链接。我以为这会起作用,但没有。
这里是代码:
$site = 'site';
$html = file_get_html($site);
foreach($html->find('td a', 3) as $element)
echo $element->href;
?>
这是HTML
<tr class="evenrow team-600-359">
<td>
Aug 17
</td>
<td>
FT
</td>
<td align="right">
<a href="link1">Arsenal</a>
</td>
<td align="center">
<a href="link2">1-3</a>
</td>
<td><a href="link3">Aston Villa</a></td>
<td style="text-align:right;">60,003</td>
</td>
<td>
Premier League
</td>
</tr>
这是一个基于0
的索引,要获得第三个结果,必须指定索引2
。。。
此外,当您指定索引时,find()
只返回一个结果,因此不需要使用循环!!
以下是基于您上面的html片段的工作代码:
// includes Simple HTML DOM Parser
include "simple_html_dom.php";
$text = '<tr class="evenrow team-600-359">
<td>
Aug 17
</td>
<td>
FT
</td>
<td align="right">
<a href="link1">Arsenal</a>
</td>
<td align="center">
<a href="link2">1-3</a>
</td>
<td><a href="link3">Aston Villa</a></td>
<td style="text-align:right;">60,003</td>
</td>
<td>
Premier League
</td>
</tr>';
//Create a DOM object
$html = new simple_html_dom();
// Load HTML from a string
$html->load($text);
// Find the 3rd anchor
$anchor = $html->find('td a', 2);
echo $anchor->href;
输出:
link3
Working DEMO