zanim wypróbujesz rozwiązanie to przede wszystkim rada żebyś to zrzucił do jakiejś bazy danych bo nieźle łącza pociągniesz ;p (dobrze by było to ściągać przez curl'a z ustawiona kompresją stron ale;p)
i żeby nie było, że skrypcik nie działa to najpierw wyświetl tylko 10 wyników (a i tak trzeba na nie czekać):
Kod
$page = file_get_contents("http://armia.toproste.pl/stats.php");
$name = '/([0-9.]+?) <\/TD>[^<]*?<TD> <a name=[^>]+?><\/a><A HREF=[^>]+?> ([^<]+?)<\/A> <\/TD>[^<]*?<TD[^;]+?;([0-9]+?) <\/TD>/i';
preg_match_all($name, $page, $matches);
$ht='http://armia.toproste.pl/search.php?name=';
$name = '/Experience:<\/td>\s+?<td width="50%">([0-9]+?)<\/td>/i';
for($i=0;$i<10;++$i){
$page = file_get_contents($ht.urlencode($matches[2][$i]));
preg_match($name, $page, $match);
echo $matches[1][$i].' - '.$matches[2][$i].' - '.$matches[3][$i].' - '.$match[1].'<br/>';
}
dla całej pętli nie chciało mi się czekać na rezultat ;p - ale prawidłowe rozwiązanie bez ograniczeń wygląda tak:
Kod
$page = file_get_contents("http://armia.toproste.pl/stats.php");
$name = '/([0-9.]+?) <\/TD>[^<]*?<TD> <a name=[^>]+?><\/a><A HREF=[^>]+?> ([^<]+?)<\/A> <\/TD>[^<]*?<TD[^;]+?;([0-9]+?) <\/TD>/i';
preg_match_all($name, $page, $matches);
$ht='http://armia.toproste.pl/search.php?name=';
$name = '/Experience:<\/td>\s+?<td width="50%">([0-9]+?)<\/td>/i';
$do=count($matches[1]);
for($i=0;$i<$do;++$i){
$page = file_get_contents($ht.urlencode($matches[2][$i]));
preg_match($name, $page, $match);
echo $matches[1][$i].' - '.$matches[2][$i].' - '.$matches[3][$i].' - '.$match[1].'<br/>';
}
jednym słowem pasuje zmodyfikować skrypcik żeby przynajmniej dane wrzucić odrazu do jakiejkolwiek bazy danych, mysql, sqlite czy choćby do zwykłego notatnika...