On a toujours besoin à un moment ou un autre dans notre vie de développeur, de nettoyer une chaîne de caractères afin d’enlever les caractères spéciaux, les espaces, tout mettre en minuscule … Rien que pour les urls c’est plus propre !
Voici un petit script réalisé qui vous permet de faire cela :
function rewrite($label) { /* Expression régulière permettant le changement des caractères accentués en * caractères non accentués. */ $search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i', '@[ç]@i','@[^a-zA-Z0-9]@'); $replace = array ('e','a','i','u','o','c',' '); $label = preg_replace($search, $replace, $label); $label = strtolower($label); // mais toutes les lettres de la chaîne en minuscule $label = str_replace(" ",'-',$label); // remplace les espaces en tirets $label = preg_replace('#\-+#','-',$label); // enlève les autres caractères inutiles $label = preg_replace('#([-]+)#','-',$label); trim($label,'-'); // remplace les espaces restants par des tirets return $label }
Article original écrit par Clément JOBEILI et publié sur Dator Blog | © Dator.fr - 2008