Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
Witam.
Piszę skrypt do zapisywania danych ze strony giełdy papierów wartościowych do tablicy array(). Jeśli odwiedzicie stronę (http://www.gpw.pl/wyniki/tabelki.asp?Indeks=wszystkie_akcje_cj&lang=PL) zauważycie że dane są w sporej tabeli z pewną stałą ilością kolumn i sporą ilością wierszy. Mój skrypt wygląda następująco: Kod <?php function GPWparse(){ $file = file_get_contents('http://www.gpw.pl/wyniki/tabelki.asp?Indeks=wszystkie_akcje_cj&lang=PL'); $file = strip_tags($file, '<table><tr><td>'); $file = str_replace(" onMouseOut=offColortr(this); onMouseOver=onColortr(this);", "", $file); $file = preg_replace("/ class=[a-z0-9]+/", "", $file); $file = preg_replace("/ _narrow/", "", $file); $file = preg_replace("/_narrow/", "", $file); preg_match_all("/<TR>\r?\n?\r?\n?\x20+?<TD><\/TD>\r?\n?\x20+?<TD>([a-zA-Z0-9\.\-]+)<\/TD>\r?\n?\r?\n?\x20+?<TD>([a-zA-Z0-9\.\-]+)<\/TD>\r?\n?\r?\n?\x20+?<TD>([0-9\:]*)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><TD>([0-9\,\-\x20]+)<\/TD><\/TR>/im", $file, $matches); return $matches; } print('<pre>'); print_r(GPWparse()); print('</pre>'); ?> Pobiera on z każdego wiersza zawartości ustalonych komórek tabeli. Kiedy jednak wyświetlimy tą tablicę array() zobaczymy że dane nie są pogrupowane przez funkcję preg_match_all w sposób umożliwiający ich dalsze sensowne użycie. Chodzi mi o to, aby dane w tabeli zapisane były w następujący sposób: Cytat Array ( [KOLUMNA 1] => Array ( [KOMÓRKA 1] => WARTOŚĆ [KOMÓRKA 2] => WARTOŚĆ [KOMÓRKA 3] => WARTOŚĆ [KOMÓRKA 4] => WARTOŚĆ ...ITD... ) [KOLUMNA 2] => Array ( [KOMÓRKA 1] => WARTOŚĆ [KOMÓRKA 2] => WARTOŚĆ [KOMÓRKA 3] => WARTOŚĆ [KOMÓRKA 4] => WARTOŚĆ ...ITD... ) [KOLUMNA 3] => Array ( [KOMÓRKA 1] => WARTOŚĆ [KOMÓRKA 2] => WARTOŚĆ [KOMÓRKA 3] => WARTOŚĆ [KOMÓRKA 4] => WARTOŚĆ ...ITD... ) ...ITD... ) Po wielu próbach nie udało mi się sformatować tablicy w żądany sposób więc zwracam się o pomoc. Pozdrawiam. |
|
|
|
freqfreq [PHP] Array() z preg_match_all 15.02.2008, 19:23:14
nowotny Cytat(freqfreq @ 15.02.2008, 19:23:14... 15.02.2008, 19:37:38
freqfreq Cytat(nowotny @ 15.02.2008, 19:37:38 ... 15.02.2008, 19:40:58
nowotny Jakiej komórki...? :/ 15.02.2008, 19:43:50
freqfreq O matko.... idę wypić.
Mam nowe pytanie ... 15.02.2008, 19:48:46 ![]() ![]() |
|
Aktualny czas: 23.12.2025 - 00:46 |