<?php
$bom = "\xef\xbb\xbf";
$json_string = $bom.'{"greeting":"Tschüss welt","emoji":"😃"}';
var_dump(
$json_string,
preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json_string),
json_decode(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json_string), true)
);
// removing the BOM sequence only and from the very beginning only
$json_string = preg_replace("/^\xEF\xBB\xBF/", '', $json_string);
var_dump(
$json_string,
json_decode($json_string, true)
);
preferences:
24.66 ms | 406 KiB | 5 Q