合并数组中的数据并以JSON输出

时间:2019-06-25 10:34:42

标签: php html json output preg-match-all

我正在从网站获取一些数据,并以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);
?>

0 个答案:

没有答案
相关问题