2 votes

PHP / Remplacer les caractères non latins par leurs équivalents

MOT

AŠA

PHP

'.$newname;

    //($filename, realpath(dirname(__FILE__)).'/'.$newname);
}

PROBLÈME Il ne remplace pas le caractère "Š" dans le mot "AŠA"

11voto

Karl Laurentius Roos Points 2407

Jetez un coup d'œil à iconv() qui vous permet de convertir une chaîne vers un encodage spécifié.

Exemple pour votre cas:

$str = 'AŠA';
$str = iconv('UTF-8', 'ASCII//TRANSLIT', $str); // ASA

9voto

Hubyx Reds Points 93

La méthode précédente ne fonctionne pas avec des caractères latins tels que ü ou áéíóú, elle renvoie 'a'e'i'o'u au lieu de aeiou.

Et avec transliterator_transliterate. Fonctionne pour PHP >= 5.4

$str = 'AŠAáéíóú';    
transliterator_transliterate('Any-Latin; Latin-ASCII;', $str); //ASAaeiou

Référence PHP NET: transliterator_transliterate

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X