URL Friendly Username in PHP?

function Slug($string)
{
    return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}

$user="Alix Axel";
echo Slug($user); // alix-axel

$user="Álix Ãxel";
echo Slug($user); // alix-axel

$user="Álix----_Ãxel!?!?";
echo Slug($user); // alix-axel

Leave a Comment