【发布时间】:2017-08-16 11:39:07
【问题描述】:
这是我的 PHP 代码:
<?php
error_reporting(E_ALL);
ini_set("display_errors",1);
ini_set('max_execution_time', 36000); //300 seconds = 5 minutes
$url = 'http://www.sportstats.com/soccer/matches/20170815/';
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$data = array(
'HomeTeam' => $xpath->evaluate('string(//td[@class="table-home"]/a)'),
'AwayTeam' => $xpath->evaluate('string(//td[contains(@class, "table-away")]/a)'),
'FtScore' => $xpath->evaluate('string(normalize-space(translate(//td[@class="result-neutral"]," " ,"")))'),
'HomeTeamid' => $xpath->evaluate('substring-before(substring-after(substring-after(//td[@class="table-home"]/a/@href, "/soccer/"),"-"),"/")'),
'AwayTeamid' => $xpath->evaluate('substring-before(substring-after(substring-after(//td[@class="table-away"]/a/@href, "/soccer/"),"-"),"/")')
);
foreach ($data as $key) {
echo $data['HomeTeamid'].",";
echo $data['HomeTeam'].",";
echo $data['FtScore'].",";
echo $data['AwayTeam'].",";
echo $data['AwayTeamid']."<br/>";
}
?>
但是脚本给出了重复的结果:
n3QdnjFB,Santos,0-0,Fluminense,EV9L3kU4
n3QdnjFB,Santos,0-0,Fluminense,EV9L3kU4
n3QdnjFB,Santos,0-0,Fluminense,EV9L3kU4
n3QdnjFB,Santos,0-0,Fluminense,EV9L3kU4
n3QdnjFB,Santos,0-0,Fluminense,EV9L3kU4
但我希望它看起来像......
HTeamid,Santos,0-0,Fluminense,ATeamid
HTeamid,Cartagena,1-0,Llaneros,ATeamid
HTeamid,Cerro Porteno,1-1,Libertad Asuncion,ATeamid
HTeamid,Operario,2-1,Maranhao,ATeamid
HTeamid,Emelec,2-0,Fuerza,ATeamid
...
..
.
Matches list image 我查看了网站上的其他问题,但没有找到答案 我如何使用 echo 命令获取所有其他团队的数据(我不想使用 var_dump)。谢谢。
【问题讨论】:
-
你能告诉我们预期的结果吗?
-
[网站上的匹配列表][1] [1]:i.stack.imgur.com/nRYfq.png
-
您有什么建议吗?
-
我不懂 PHP 所以帮不上忙