如何使用 PHP 解析来自特定 url 的明文数据?

How to parse plaintext data from a particular url with PHP?

我正在使用此代码从外部源将数据提取到我的站点,并且想知道如何使用 PHP 解析它。

include(app_path().'/Includes/simple_html_dom.php');
$html = file_get_html("http://www.teamsideline.com/sites/parkfun/schedule/153461/Adult-Outdoor-Soccer-Mens-Competitive", NULL, NULL, NULL, NULL);
$data = array();
foreach($html->find("tbody tr") as $tr){
$row = array();
foreach($tr->find("td") as $td){
    /* enter code here */
    $row[] = $td->plaintext;
}
$data[] = $row;
}

我正在尝试特别提取排名数据,并使用来自该站点的数据在我的页面上重新创建排名 table。我怎样才能做到这一点?

该网站似乎不允许 file_get_html()。至少对我来说它不起作用。

无论如何,您可以使用 cUrl 获取 html 字符串,然后使用 str_get_html() 解析该字符串。

要在您的网站上显示 table,只需像这样回显找到的数据:

$url = 'http://www.teamsideline.com/sites/parkfun/schedule/153461/Adult-Outdoor-Soccer-Mens-Competitive';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
$result = curl_exec($curl);

$html = str_get_html($result);

$data = "";

$data .= "<table width='100%'>";

    foreach($html->find("tbody tr") as $tr){

        $data .= "<tr>";

        foreach($tr->find("td") as $td){

            $data .= "<td style='border: 1px black solid'>";
            $data .= $td->plaintext;
            $data .= "</td>";

        }

        $data .= "</tr>";

    }

$data .= "</table>";

echo $data;