<?php
$json = array(
"Sample" => array(
"context" => 'جمهوری ناسلامی ایران',
"test" => '\u1234',
)
);
$encoded = raw_json_encode($json);
var_dump($encoded);
$unescaped = preg_replace_callback('/(?<!\\\\)\\\\u(\w{4})/', function ($matches) {
return html_entity_decode('&#x' . $matches[1] . ';', ENT_COMPAT, 'UTF-8');
}, $encoded);
var_dump($unescaped);
function raw_json_encode($input) {
return preg_replace_callback(
'/\\\\U([0-9a-zA-Z]{4})/',
function ($matches) {
return mb_convert_encoding(pack('H*',$matches[1]),'UTF-8','UTF-16');
},
json_encode($input)
);
}
preferences:
49.38 ms | 402 KiB | 5 Q