Skip to content

Nettoyer une chaîne de caractères en PHP

  1. function rewrite($label)
  2. {
  3.         /* Expression régulière permettant le changement des caractères accentués en
  4.         * caractères non accentués.
  5.         */
  6.         $search = array (‘@[éèêëÊË]@i’,‘@[àâäÂÄ]@i’,‘@[îïÎÏ]@i’,‘@[ûùüÛÜ]@i’,‘@[ôöÔÖ]@i’,
  7.         ‘@[ç]@i’,‘@[^a-zA-Z0-9]@’);
  8.         $replace = array (‘e’,‘a’,‘i’,‘u’,‘o’,‘c’,‘ ‘);
  9.         $labelpreg_replace($search, $replace, $label);
  10.         $label = strtolower($label); // mais toutes les lettres de la chaîne en minuscule
  11.         $label = str_replace(” “,‘-‘,$label); // remplace les espaces en tirets
  12.         $label = preg_replace(‘#\-+#’,‘-‘,$label); // enlève les autres caractères inutiles
  13.         $label = preg_replace(‘#([-]+)#’,‘-‘,$label);
  14.         trim($label,‘-‘); // remplace les espaces restants par des tirets
  15.         return $label
  16. }