([^<]+)<\/td>/mis', $data, $matches); $stats = array_map(create_function('$x', 'return (int) str_replace(",", "", trim($x));'), $matches[1]); preg_match_all('/&category=[0-9]+" class=c>([^<]+)<\/a>/i', $data, $matches); $stats = array_ch([^<]+)<\/td>/mis', $data, $matches); $stats = array_map(create_function('$x', 'return (int) str_replace(",", "", trim($x));'), $matches[1]); preg_match_all('/&category=[0-9]+" class=c>([^<]+)<\/a>/i', $data, $matches); $stats = array_chunk($stats, 3); $final_stats = array(); $i = 0; foreach($stats as $stat) { $final_stats[$matches[1][$i++]] = array('rank' => $stat[0], 'level' => $stat[1], 'xp' => $stat[2]); } return $final_stats; } var_dump(getScoreData('compwiz3000'));unk($stats, 3); $final_stats = array(); $i = 0; foreach($stats as $stat) { $final_stats[$matches[1][$i++]] = array('rank' => $stat[0], 'level' => $stat[1], 'xp' => $stat[2]); } return $final_stats; } var_dump(getScoreData('compwiz3000')); ?>