<?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)
);
- Output for 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- string(46) "{"greeting":"Tschüss welt","emoji":"😃"}"
string(37) "{"greeting":"Tschss welt","emoji":""}"
array(2) {
["greeting"]=>
string(11) "Tschss welt"
["emoji"]=>
string(0) ""
}
string(43) "{"greeting":"Tschüss welt","emoji":"😃"}"
array(2) {
["greeting"]=>
string(13) "Tschüss welt"
["emoji"]=>
string(4) "😃"
}
preferences:
54.87 ms | 407 KiB | 5 Q