Personal scores for ([^<]+?)<\/b>/im", $data, $matches1); preg_match_all('/\">([^<]+?)<\/a><\/td> ([^<]+?)<\/td> ([^<]+?)<\/td> ([^<]+?)<\/td>/', $data, $matches_data); // $matches_data[1][x] = skill name // $matches_data[2][x] = rank // $matches_data[3][x] = level // $matches_data[4][x] = exp for($i = 0; $i < 22; $i++){ for($j = 0; $j < count($matches_data[0]); $j++){ if($matches_data[1][$j] == $skills[$i]){ $stats['skills']['player'] = $matches1[1]; $stats["skills_$i"]['rank'] = $matches_data[2][$j]; $stats["skills_$i"]['level'] = number_format($matches_data[3][$j]); $stats["skills_$i"]['exp'] = $matches_data[4][$j]; break; } } } //Data Output echo "".$stats['skills']['player'].""; for($x = 0; $x < 22; $x++){ if(!is_null($stats["skills_$x"]['level'])) { echo "  $skills[$x] ".$stats["skills_$x"]['rank']." ".$stats["skills_$x"]['level']." ".$stats["skills_$x"]['exp']." "; } } echo " "; ?>