Witajcie,
Parsuje sobie tabele, jednak moim sposobem strona wczytuje się bardzoo długo, chciałbym abyście powiedzieli jak zrobić to poprostu lepiej. Kod wygląda tak:
<?php
$context = stream_context_create(
array(
"http" => array(
"header" => "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36"
)
)
);
set_time_limit(300);
ini_set('max_execution_time', 300);
include('simple_html_dom.php');
$html = file_get_html('https://sslecal2.forexprostools.com/?columns=exc_flags,exc_currency,exc_importance,exc_actual,exc_forecast,exc_previous&category=_employment,_economicActivity,_inflation,_credit,_centralBanks,_confidenceIndex,_balance,_Bonds&importance=1,2,3&features=datepicker,timezone,timeselector,filters&countries=25,6,60,43,5,9&calType=week&timeZone=57&lang=15', false, $context);
foreach($html->find('td.event') as $wydarzenie) {
$opis[] = $wydarzenie->innertext;
$matches = preg_grep ('/pkb|decyzja|cpi|zatrudnienia|detaliczna/i', $opis);
}
foreach($html->find("td.flagCur") as $waluta) {
$tablica_waluta[] = $waluta->plaintext.'<br/>';
}
foreach($html->find("td.time") as $godzina) {
$tablica_godzina[] = $godzina->plaintext.'<br/>';
}
foreach($html->find("td.bold") as $obecny) {
$tablica_obecny[] = $obecny->plaintext.'<br/>';
}
foreach($html->find("td.prev") as $prognoza) {
$tablica_prognoza[] = $prognoza->plaintext.'<br/>';
}
echo '<table>';
echo '<tr><td>Godzina</td><td>Waluta</td><td>Wydarzenie</td></tr>';
foreach ($matches as $id_wydarzenia => $wartosc) {
echo '<tr>';
foreach ($tablica_waluta as $id_waluty => $wartosc1) {
foreach ($tablica_godzina as $id_godziny => $godzina) {
foreach ($tablica_obecny as $id_obecny => $obecny) {
foreach ($tablica_prognoza as $id_prognoza => $prognoza) {
if ($id_wydarzenia == $id_waluty && $id_wydarzenia == $id_godziny && $id_wydarzenia == $id_obecny && $id_wydarzenia == $id_prognoza) {
echo "<td>" . $godzina . "</td><td>" . $wartosc1 . "</td><td>" . $wartosc . "</td><td>" . $obecny . "</td><td>" . $prognoza . "</td>";
}
}
}
}
}
echo '</tr>';
}
echo '</table>';
?>
Za wszelkie porady jak zrobić to tak jak powinno być dziękuje :)