Reputation: 1406
I am using this code to pull data to my site from an external source, and am wondering how I would parse this using 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;
}
I am trying to extract the standings data in particular, and recreate the standings table on my page with the data from this site. How can I achieve this?
Upvotes: 1
Views: 491
Reputation: 521
Seems like the website doesn't allow file_get_html(). Atleast for me it's not working.
Anyway, you could use cUrl to get the html string and then parse that string using str_get_html()
.
To display the table on your website, simply echo the found data like this:
$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;
Upvotes: 1