我想获取日期对象文本内容和Team 1。但是Team 2对象具有与date对象相同的属性选项。如何获得正确的内容?如果我回显$date,我将获得Team2的日期值…我应该如何编写条件?
<table width="100%" cellpadding=2 cellspacing=0 id="tblFixture" border=0>
<tr class=row1 align=center side='home'>
<td align=left>21.09.1928</td>
<td> </td>
<td align='right'><span class='team'>Team 1</span></td>
<td align=left><a href='http://www.foo.com/bar' target='_blank'>Team 2</a></td>
</td>
</tr>
PHP代码:
$url = "http://www.bla.com/bla.html";
$dom = new DOMDocument;
@$dom->loadHTMLFile($url);
$xpath = new DOMXPath($dom);
$nlig = $xpath->query('//table[@id="tblFixture"]/tr[@side=''home'']');
$i = 0;
foreach ($nlig AS $val)
{
$date = $xpath->query('//table[@id="tblFixture"]/tr[@side=''home''][@class=''row1'']/td[@align=''left'']')->item($i)->textContent;
$first_team = $xpath->query('//table[@id="tblFixture"]/tr[@side=''home'']/td[@align=''right'']/span[@class=''team'']')->item($i)->textContent;
echo $date, $first_team, "<br />";
$i++;
}
您可以使用正则表达式来验证/查找日期。
类似于:
preg_match("/<td align=left>([0-9]{2}.[0-9]{2}.[0-9]{4})<'/td>/", $html, $matches);