Cette page explique comment convertir une chaîne de caractère en URL en PHP. En anglais,
la chaine de caractère résultante s'appelle un "slug". "Slugify" est le verbe associé au processus
de convertion. Par exemple : le blog de Lulu
deviendra après transformation le-blog-de-lulu
.
La fonction ci-dessous permet la convertion d'une chaîne de caractères en slug :
// Slugify a string
function slugify($text)
{
// Strip html tags
$text=strip_tags($text);
// Replace non letter or digits by -
$text = preg_replace('~[^\pL\d]+~u', '-', $text);
// Transliterate
setlocale(LC_ALL, 'en_US.utf8');
$text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
// Remove unwanted characters
$text = preg_replace('~[^-\w]+~', '', $text);
// Trim
$text = trim($text, '-');
// Remove duplicate -
$text = preg_replace('~-+~', '-', $text);
// Lowercase
$text = strtolower($text);
// Check if it is empty
if (empty($text)) { return 'n-a'; }
// Return result
return $text;
}