Sans Accent et UTF-8
Posté : 06 déc. 2008, 19:10
Bonjour,
J'utilise ma super fonction pour simplifier des urls qui est la suivante :
Avez-vous une autre méthode identique pour simplifier une chaine ?
Merci, Elie
J'utilise ma super fonction pour simplifier des urls qui est la suivante :
// Simplification d'une chaine
function simplification($chaineNonValide) {
$chaineValide = strtolower(strtr($chaineNonValide, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"));
$search = array ('@[ ]@i','@[^a-zA-Z0-9_-]@');
$replace = array ('_','');
return trim(strtolower(preg_replace($search, $replace, $chaineValide)), '_');
}
Cela marche très bien si mon fichier est en charset "Europe occidentale" mais le format UTF-8 se banalisant, et surtout dans dreamweaver, je n'ai trouvé que cette solution pour que ma fonction marche : // Simplification d'une chaine
function simplification($chaineNonValide) {
$chaineValide = strtr(utf8_decode($chaineNonValide), @iconv("UTF-8", "ISO-8859-1", "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ"), "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
$search = array ('@[ ]@i','@[^a-zA-Z0-9_-]@');
$replace = array ('_','');
return trim(strtolower(preg_replace($search, $replace, $chaineValide)), '_');
}
Malheureusement la fonction iconv n'est pas pris en compte dans tous les hebergeurs.Avez-vous une autre méthode identique pour simplifier une chaine ?
Merci, Elie