Un problème simple peut parfois se poser à vous :
Vous disposez d’une chaîne de caractères ( un titre d’article, par exemple ), que vous souhaitez utiliser pour une URL. Malheureusement, vous ne pouvez pas utiliser directement cette chaine de caractères, qui ne serait pas optimisée pour le référencement, et très peu lisible.

C’est là qu’intervient la fonction clear_url(). Cette dernière nettoie votre chaine, et en retourne une propre et optimisée, pour une url, un identifiant, etc 🙂

function clean_url($texte) {
	//Suppression des espaces en début et fin de chaîne
	$texte = trim($texte);
 
	//Suppression des accents
	$texte = strtr($texte,'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ','aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn');
 
	//mise en minuscule
	$texte = strtolower($texte);
 
	//Suppression des espaces et caracteres spéciaux
	$texte = str_replace(" ",'-',$texte);
	$texte = preg_replace('#([^a-z0-9-])#','-',$texte);
 
	//Suppression des tirets multiples
	$texte = preg_replace('#([-]+)#','-',$texte);
 
	//Suppression du premier caractère si c'est un tiret
	if($texte{0} == '-')
		$texte = substr($texte,1);
 
	//Suppression du dernier caractère si c'est un tiret
	if(substr($texte, -1, 1) == '-')
		$texte = substr($texte, 0, -1);
 
	return $texte;
}

Elle peut être optimisée ( en virant les étapes intermédiaires ), mais est fonctionnelle et plutôt utile 😉
Si vous avez une optimisation à partager, n’hésitez pas 😉

Tags : , ,