@ 2015-05-05T14:30:01Z <?php
$source = json_encode([new StdClass, "This is a test", "Foo's bar", 1, 5]);
function escapeForJs($string) {
$len = mb_strlen($string, 'utf8');
$array = [];
for ($i = 0; $i < $len; $i++) {
$array[] = mb_substr($string, $i, 1, 'utf8');
}
return implode("", array_map(function($char) {
if (ctype_alnum($char)) {
return $char;
}
$bytelen = mb_strlen($char, '8bit');
if ($bytelen === 1) {
return '\\x' . str_pad(dechex(ord($char)), 2, '0', STR_PAD_LEFT);
}
$result = '\\u';
for ($i = 0; $i < $bytelen; $i++) {
$result .= str_pad(dechex(ord($char[$i])), 2, '0', STR_PAD_LEFT);
}
return $result;
}, $array));
}
var_dump(escapeForJs($source));
var_dump(json_encode($source));
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.28 , 7.0.0 - 7.0.20 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.18 , 8.3.0 - 8.3.6 string(88) "\x5b\x7b\x7d\x2c\x22This\x20is\x20a\x20test\x22\x2c\x22Foo\x27s\x20bar\x22\x2c1\x2c5\x5d"
string(43) ""[{},\"This is a test\",\"Foo's bar\",1,5]""
Output for 4.4.2 - 4.4.9 , 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 Parse error: syntax error, unexpected '[', expecting ')' in /in/leN7E on line 3
Process exited with code 255 . Output for 4.3.0 - 4.3.1 , 4.3.5 - 4.3.11 , 4.4.0 - 4.4.1 , 5.0.0 - 5.0.5 Parse error: parse error, unexpected '[', expecting ')' in /in/leN7E on line 3
Process exited with code 255 . Output for 4.3.2 - 4.3.4 Parse error: parse error, expecting `')'' in /in/leN7E on line 3
Process exited with code 255 . preferences:dark mode live preview
282.83 ms | 401 KiB | 398 Q