Maison >développement back-end >tutoriel php >Comment supprimer de manière fiable les séquences de nomenclature UTF-8 de la sortie PHP ?

Comment supprimer de manière fiable les séquences de nomenclature UTF-8 de la sortie PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-08 08:30:12701parcourir

How to Reliably Remove UTF-8 BOM Sequences from PHP Output?

Comment supprimer efficacement plusieurs séquences de nomenclature UTF-8

Lorsque vous rencontrez des problèmes lors de l'affichage de la sortie HTML brute des fichiers de modèle PHP, il est essentiel de résoudre la présence de séquences UTF-8 BOM (Byte Order Mark). Ce problème peut se manifester lorsque Firefox ne peut pas accepter la sortie.

L'extrait de code PHP suivant tente de supprimer les séquences de nomenclature, mais peut ne pas être pleinement efficace :

function fetch($name) {
    // ...
    if (substr($t, 0, 3) == b'\xef\xbb\xbf') {
        $t = substr($t, 3);
    }
    return $t;
}

Pour garantir la suppression complète de toutes les séquences de nomenclature, envisagez d'utiliser l'approche plus robuste suivante :

function remove_utf8_bom($text)
{
    $bom = pack('H*','EFBBBF');
    $text = preg_replace("/^$bom/", '', $text);
    return $text;
}

Cette fonction utilise une expression régulière (preg_replace) pour faire correspondre et supprimer tout instance de la séquence UTF-8 BOM au début de la chaîne (/^$bom/). En garantissant la suppression de toutes les nomenclatures, le résultat devrait être facilement acceptable par Firefox et les autres navigateurs.

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