Je me suis créé une petite fonction perso ...
Pas de quoi casser trois pattes à un canard...
function slug($string) {
$data = trim($string);
$data = preg_replace('/[^a-zA-Z0-9\/_|+ -]/', '', $data);
$data = strtolower(trim($data, '-'));
$data = preg_replace('/[\/_|+ -]+/', '-', $data);
return $data;
}