Maison > développement back-end > tutoriel php > Comment puis-je décoder les séquences d'échappement Unicode en UTF-8 en PHP ?

Comment puis-je décoder les séquences d'échappement Unicode en UTF-8 en PHP ?

Susan Sarandon
Libérer: 2024-12-29 03:49:15
original
580 Les gens l'ont consulté

How Can I Decode Unicode Escape Sequences to UTF-8 in PHP?

Décodage des séquences d'échappement Unicode en caractères UTF-8 en PHP

Question : Existe-t-il une fonction intégrée en PHP qui peut décoder les séquences d'échappement Unicode comme "u00ed" en le caractère UTF-8 correspondant, tel que "í" ?

Réponse : Bien que PHP ne fournisse pas de fonction directe pour cette tâche, vous pouvez utiliser une combinaison d'expressions régulières et de fonctions d'encodage de caractères pour obtenir le résultat souhaité :

$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UCS-2BE');
}, $str);
Copier après la connexion

Ce code utilise une expression régulière pour faire correspondre les séquences d'échappement Unicode et les remplace par leurs caractères UTF-8 correspondants en utilisant mb_convert_encoding().

Dans le cas où la séquence d'échappement est au format UTF-16 :

$str = preg_replace_callback('/\\u([0-9a-fA-F]{4})/', function ($match) {
    return mb_convert_encoding(pack('H*', $match[1]), 'UTF-8', 'UTF-16BE');
}, $str);
Copier après la connexion

Ce code modifié suppose que la séquence d'échappement est codée en UTF-16 , qui est couramment utilisé dans certains langages de programmation et dans la notation JSON.

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!

source:php.cn
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