Bonjour à tous, comment accepter les accents dans une réécriture d'URL de ce style la :
RewriteRule ^page-([a-zA-Z0-9_\-\%]+)
Donc ce que je peux faire par exemple, c´est remplacer les é par des e avant de soumettre le GET a la base de donnée ?
Oui, le mieux est de supprimer tous les accents ou caractères spéciaux. Il doit exister des libs qui font ça, par exemple sur Laravel, on utilise Str::slug
pour convertir des chaînes de caractères en slug Je suis un texte avec des caractères spéciaux
devient je-suis-un-texte-avec-des-caracteres-speciaux
Salut Toinou, si tu n'utilises pas de framework, cette fonction marche très bien pour slugifier des chaines de caractères :
function slugify($string, $delimiter = '-'){
$oldLocale = setlocale(LC_ALL, '0');
setlocale(LC_ALL, 'en_US.UTF-8');
$slug = iconv('UTF-8', 'ASCII//TRANSLIT', $string);
$slug = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $slug);
$slug = strtolower($slug);
$slug = preg_replace("/[\/_|+ -]+/", $delimiter, $slug);
$slug = trim($slug, $delimiter);
setlocale(LC_ALL, $oldLocale);
return $slug;
}