Supprimer le BOM d'un fichier

Publié le 09/05/2018  PHP

Lorsqu'on télécharge des fichiers depuis le PHP, il arrive qu'ils aient le BOM activé, ce qui plante les utilisations de JSON.

On peut supprimer le BOM avec le code suivant :
<?php
$data = file_get_contents ($url);
$bom = pack('CCC', 0xEF, 0xBB, 0xBF);
if (substr ($data, 0, 3) === $bom)
  $data = substr ($data, 3);
$json = json_decode ($data, true);
if ($json === null) 
  error ("ERROR : invalid JSON for $url : ".json_last_error_msg ());
return $json;