 I love VIC |
J'ai parlé un peu trop vite. En fait, si je mets uniquement la fonction dans une page, ça fonctionne correctement.
J'ai essayé de l'ajouté dans une page contenant des requetes etc... Au lieu d'écrire : Défilé de mode Il m'affiche : D-yfil-y-de-mode
Je ne vois pas d'ou vient le probleme. Voici ma fonction :
function sans_accent($texte){
$accent = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËéèêëÇçÌÍÎÏìíîšÑñÙÚÛÜùúûüµ¥ÿýžº¹²³¼½¾@æÆßЀƒ£$¢þøŒð÷‰%×+*&?¨!.,;:_ˆ`^‹›(){}[]~’‘”“«»#®©™"§…·¶\"ˆ´˜°±¬ª¨¤¯=—–•¿????|¦‡†„¸/\' ';
$noaccent = 'AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiiSsNnUUUUuuuuuYyyz---------------------------------------------------------------------------------------------';
$texte = strtr($texte,$accent,$noaccent);
$texte = preg_replace('`( ){1,}`', '-', $texte); // on remplace les espaces par des tirets
$texte = preg_replace('`(-){2,}`', '-', $texte); // si >1 tiret, on les efface
return strtolower(trim($texte, '-'); // on met tout en minuscule et on enlève les - au début ou à la fin
}
-- Je vous aiderai dans la mesure du possible ;) |
 Admin |
Pour le strtr tu peux utiliser ça :
<?php
$chaine = strtr($chaine, 'àáâãäåòóôõöøèéêëçìíîïùúûüÿñ', 'aaaaaaooooooeeeeciiiiuuuuyn');
$rechercher = array('<','>','&','?',';','"','\'','\\','/','^','$','*','(',')','[',']','+','°','~','=','-','|','`','#','²','%','!','.','@','{','}',':',')','(','\'',' ');
$remplacer = array('','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','','-','-');
$chaine = str_replace($rechercher, $remplacer, $chaine);
?>
Sinon pour le "$texte = preg_replace('`( ){1,}`', '-', $texte); // on remplace les espaces par des tirets "
autant rajouter l'option dans le strtr ;) -- 
|