Maison > développement back-end > tutoriel php > Comment convertir des caractères accentués en équivalents de base en PHP ?

Comment convertir des caractères accentués en équivalents de base en PHP ?

Mary-Kate Olsen
Libérer: 2024-10-30 15:44:26
original
1010 Les gens l'ont consulté

How to Convert Accented Characters to Base Equivalents in PHP?

Remplacer les caractères spéciaux par des caractères de base en PHP

La tâche consiste à convertir les caractères accentués en leurs équivalents de base en PHP. Par exemple, "ã" devrait devenir "a" et "é" devrait devenir "e".

Solution :

Bien qu'il soit possible d'effectuer des opérations mathématiques sur ASCII valeurs, il existe des méthodes plus simples.

Utilisation de la classe Normalizer :

PHP fournit une classe Normalizer qui peut simplifier le processus de conversion de caractères. Le code suivant démontre son utilisation :

<code class="php">use Normalizer;

$string = "ãé";
$base_string = Normalizer::normalize($string, Normalizer::FORM_D);</code>
Copier après la connexion

Fonction personnalisée :

Si la classe Normalizer n'est pas disponible, vous pouvez créer une fonction personnalisée pour effectuer le remplacement :

<code class="php">function Unaccent($string)
{
    return preg_replace('~&amp;([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '', htmlentities($string, ENT_QUOTES, 'UTF-8'));
}</code>
Copier après la connexion

Cette fonction utilise des expressions régulières pour faire correspondre et remplacer les caractères accentués par leurs équivalents de base.

Utilisation :

<code class="php">$string = "ãé";
$base_string = Unaccent($string);</code>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal