<?php
$source = json_encode([new StdClass, "This is a test", "Foo's bar", 1, 5]);
$escaped = implode("", array_map(function($char) {
if (ctype_alnum($char)) {
return $char;
}
$bytelen = mb_strlen($char, '8bit');
$result = '\\u';
for ($i = 0; $i < $bytelen; $i++) {
$result .= str_pad(dechex(ord($char[$i])), 2, '0', STR_PAD_LEFT);
}
return $result;
}, str_split($source, 1)));
var_dump($escaped);
preferences:
41.23 ms | 402 KiB | 5 Q