我正在从网站获取一些数据,并以JSON输出它们。现在,检索数据已成功,但是很遗憾,我无法按日期对时间和车辆进行排序。也许有人可以帮我在这里走上正确的路。
<li class="day">
<span class="dayText">Maandag 1 juli</span>
<ul>
<li class="details" detailid="142">
<div class="info">
<span class="time">12:15</span>
</div>
<div class="car">
<span class="car">
<a href="https://url.url">Opel Astra</a>
</span>
</div>
</li>
<li class="details" detailid="143">
<div class="info">
<span class="time">14:45 uur</span>
</div>
<div class="car">
<span class="car">
<a href="https://url.url">Opel Ascona</a>
</span>
</div>
</li>
</ul>
</li>
<li class="day">
<span class="dayText">Dinsdag 2 juli</span>
<ul>
<li class="details" detailid="144">
<div class="info">
<span class="time">03:15</span>
</div>
<div class="car">
<span class="car">
<a href="https://url.url">Aston Martin Vanquish</a>
</span>
</div>
</li>
<li class="details" detailid="145">
<div class="info">
<span class="time">08:23 uur</span>
</div>
<div class="car">
<span class="car">
<a href="https://url.url">Fiat Panda</a>
</span>
</div>
</li>
</ul>
</li>
想要的输出(JSON): 输出应尽可能与此相似。困难的是使两次匹配日期。
{
"date": "Maandag 1 juli" {
"time": "12:15"
"car": "Opel Astra"
"time": "14:45"
"car": "Opel Ascona"
}
"date": "Dinsdag 2 juli" {
"time": "03:15"
"car": "Aston Martin Vanquish"
"time": "08:23"
"car": "Fiat Panda"
}
PHP 这是到目前为止编写的PHP代码。输出显示NULL。由于某些原因,它无法匹配。
<?php
$html = file_get_contents('https://url.url');
preg_match_all("/\<span class\=\"dayText\"\>(.*?)\<\/span\>/", $html, $day);
preg_match_all("/\<span class\=\"time\"\>(.*?)\<\/span\>/", $html, $time);
preg_match_all("/\<span class\=\"car\"\>(.*?)\<\/span\>/", $html, $car);
$finalResult = array_combine($day[0],$time[0],$car[0]);
var_dump($finalResult);
?>