Position actuelle: Accueil> Derniers articles> Comment supprimer les marques de commande de bocal dans le code PHP

Comment supprimer les marques de commande de bocal dans le code PHP

gitbox 2025-06-24

Comment supprimer les marques de commande de bocal dans le code PHP

Dans le code PHP, la BOM (marqueur de commande d'octet) peut causer certains problèmes. Bom est un caractère spécial qui insère plusieurs octets d'informations au début d'un fichier et est utilisé pour identifier le codage des caractères du texte. Dans les projets PHP, l'existence de BOM peut amener le navigateur à sortir du code brouillé ou des exceptions de traitement des chaînes, il est donc important de comprendre comment supprimer la nomenclature.

L'impact des problèmes de nomenclature

Comment détecter si la nomenclature existe dans les fichiers PHP

Nous pouvons utiliser le code suivant pour détecter si un fichier contient un bom:

 
function hasBom($filename) {
    $file = fopen($filename, "r");
    $bom = fread($file, 3);
    fclose($file);
    return $bom === "\xEF\xBB\xBF";
}
if (hasBom("example.php")) {
    echo "Le fichier contientBOM";
} else {
    echo "Dossier non inclusBOM";
}
        

Ce code lit les 3 premiers octets du fichier et vérifie s'ils correspondent à la séquence d'octets Bom "\ XEF \ xbb \ xbf". S'il est cohérent, le fichier de description contient le bom.

Deux façons de supprimer la bom

Méthode 1: Resave le fichier

Le moyen le plus simple consiste à enregistrer le fichier contenant la nomenclature en tant que nouveau fichier via l'éditeur. Le nouveau fichier ne contiendra pas BOM octets.

Exemple d'utilisation du code PHP pour répondre au fichier et supprimer la nomenclature:

 
function removeBom($filename) {
    $content = file_get_contents($filename);
    file_put_contents($filename, substr($content, 3));
}
removeBom("example.php");
        

Ce code lira le contenu du fichier, supprimera les trois premiers octets (c'est-à-dire BOM), puis rédigera le contenu modifié dans le fichier d'origine, supprimant ainsi la nomenclature.

Méthode 2: Utilisez des fonctions alternatives

En plus de résister au fichier, vous pouvez également supprimer la nomenclature via des fonctions alternatives de PHP. Dans cette méthode, nous créons une fonction pour détecter et supprimer le bom de la chaîne.

 
function utf8_encode_bom($string) {
    if (substr($string, 0, 3) == "\xEF\xBB\xBF") {
        return substr($string, 3);
    }
    return $string;
}
$originalString = "Example String with BOM";
$cleanString = utf8_encode_bom($originalString);
echo $cleanString;
        

Le code vérifie d'abord si les 3 premiers octets de la chaîne sont BOM, si c'est le cas, supprimez-le et renvoyez la chaîne nettoyée.

Résumer

La suppression des marqueurs de commande d'octets BOM dans PHP est une exigence commune, en particulier lors de la gestion des fichiers PHP de différents éditeurs de texte. Nous pouvons supprimer la nomenclature en détectant si le fichier contient un bom et en utilisant Resave le fichier ou les fonctions alternatives. Quelle que soit la méthode, il peut résoudre efficacement le problème du code brouillé et assurer l'exécution normale du code PHP.

Lors du traitement des fichiers, assurez-vous de faire une sauvegarde pour éviter les accidents.