// fix extra whitespace and invisible ascii stuff
$username = trim(preg_replace('#\s+#si', '', strip_blank_ascii($username, ' ')));
//// lower
$username = strtolower($username);
// Umlauts
$array_1 = array("ä","ö","ü","ß");
$array_2 = array("ae","oe","ue","ss");
for($x=0;$x<4;$x++) {
$username = str_replace($array_1[$x],$array_2[$x],$username);
}
// Only one!
$username = str_replace("--","",$username);
$username = str_replace("..","",$username);
$username = str_replace("__","",$username);
$username = str_replace("._","",$username);
$username = str_replace(".-","",$username);
$username = str_replace("-_","",$username);
$username = str_replace("-.","",$username);
$username = str_replace("_-","",$username);
$username = str_replace("_.","",$username);
// Ucase first
$username = ucfirst($username);