Maison >développement back-end >tutoriel php >Comment remplacer les trémas par des équivalents ASCII dans les chaînes UTF-8 ?

Comment remplacer les trémas par des équivalents ASCII dans les chaînes UTF-8 ?

DDD
DDDoriginal
2024-11-29 19:46:14293parcourir

How to Replace Umlauts with ASCII Equivalents in UTF-8 Strings?

Conversion des trémas en équivalents ASCII dans les chaînes UTF-8

Problème :

Remplacer le spécial caractères, tels que les trémas, dans une chaîne UTF-8 avec leurs 7 bits les plus proches Équivalent ASCII. Par exemple, "lärm" devrait devenir "larm" et "andré" devrait devenir "andre".

Solution :

Utilisation de utf8_decode() et strtr(), comme le démontre l'extrait de code donné, est une solution courante. Cependant, si votre fichier source est enregistré au format UTF-8 et que vous ne pouvez pas saisir de caractères ISO-8859-15, une approche plus élégante est disponible.

La fonction iconv() peut être utilisée pour effectuer une conversion de jeu de caractères. En spécifiant "ascii//TRANSLIT" comme jeu de caractères cible, les trémas seront automatiquement convertis en leurs équivalents ASCII :

echo iconv("utf-8","ascii//TRANSLIT",$input);

Exemple étendu :

Pour illustrer l'utilisation de iconv(), considérons le code suivant :

$input = "lärm andré";
$output = iconv("utf-8","ascii//TRANSLIT",$input);

echo $output; // Output: larm andre

Ce code convertit tous trémas dans la chaîne d'entrée vers leurs équivalents ASCII.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn