Une autre petite fonction php toute easy. Cette fois ci je vous propose de nettoyer vos chaînes de caractères afin de les utiliser dans vos urls.
Coté référencement naturel et accessibilité web il est en effet de rigueur d’avoir des urls les plus propres possibles.
Pour ceci la méthode est simple: pas de caractères spéciaux, des tirets en guise d’espace, et dans le meilleur des cas, enlever les articles (il, la, les…)

Comment faire:

//_______________________________ nettoyage pour url propre
//
function cleanChaine($String) {
     $Search = array("\\n", "\\r", "\n", "\r", "     ", "    ", "&", " ", "        ", "       ", "      ", "     ", "    ", "   ", "  ", "à", "á", "â", "à", "À", "ç", "ç", "Ç", "é", "è", "ê", "ë", "É", "È", "é", "è", "ê", "í", "ï", "ï", "î", "ñ", "ô", "ò", "ö", "ô", "ó", "Ó", "ù", "û", ";");
     $Replace = array("-","-","-","-", "-", "", "-", "-", "-", "-", "-", "-", "-", "-", "-", "a", "a", "a", "a", "A", "c", "c", "C", "e", "e", "e", "e", "E", "E", "e", "e", "e", "i", "i", "i", "n", "o", "o", "o", "o", "o", "O", "u", "u", "\;");
     $String = str_replace($Search, $Replace, $String);
     $String = str_replace("'", "-", $String);
     $String = str_replace("\\", "-", $String);
     return $String;
 }
 
$chaine='Ma chaine à nettoyer';
 
$chainePropre =  cleanChaine($chaine);
echo '<a href="/articles/'.$chainePropre.'.php">Mon lien</a>';
//

Comment ca marche:

  1. str_replace : Avec un array -> On peu définir dans 2 array les valeurs à remplacer et les valeurs à mettre à la place. Il est important que les places dans les array correspondent. Ainsi dans mon exemple à sera remplacé par le a
  2. str_replace : Sans array (Sans arrêt! mouhahaha :) ). Vous pouvez directement déclarer dans le str_replace la chaine à trouver et à remplacer. Ici les apostrophes seront remplacées par des tirets.

Avec ça, vous n’avez plus d’excuse pour ne pas avoir de magnifiques urls.

Have fun!