Mulder: Einfach nur einen ";" ersetzen :-(

Beitrag lesen

$highscore = str_replace($val, ";", "</td><td>");

Es heißt nicht
str_replace($string, $substring, $replace_string);
sondern (dummerweise)
str_replace($substring, $replace_string, $string);

D.h. Du brauchst

$highscore = str_replace(";", "</td><td>", $val);

Genau aus dem Grunde hab ich mir auch meine eigenen Funktionen dafür definiert. ;-)