3v4l.org

run code in 300+ PHP versions simultaneously
<?php $source = "this is a test"; $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:
39.81 ms | 402 KiB | 5 Q