![]() ![]() |
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. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%)
|
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. Ależ "dalsze sensowne użycie" jest jak najbardziej możliwe... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) z czym masz problem dokładnie... |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
Ależ "dalsze sensowne użycie" jest jak najbardziej możliwe... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) z czym masz problem dokładnie... Hmm? To jak dostać się do wartości konkretnej komórki? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 875 Pomógł: 122 Dołączył: 2.02.2008 Ostrzeżenie: (0%)
|
Jakiej komórki...? :/
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 8.01.2008 Ostrzeżenie: (0%)
|
O matko.... idę wypić.
Mam nowe pytanie - jak obsługiwać suwaki w przeglądarce?... nie zjechałem na dół xX (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) (IMG:http://forum.php.pl/style_emoticons/default/withstupidsmiley.gif) EDIT: Nigdy o nic tak naprawdę nie pytałem, to był balon meteorologiczny i mnie tu nie ma. Hmm co ja tu robię? Ten post edytował freqfreq 15.02.2008, 19:50:16 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 22:59 |