这篇文章主要介绍了PHP实现JS中escape与unescape的方法,通过json_encode和json_decode方法实现JS中escape与unescape函数的功能,需要的朋友可以参考下

JavaScript中的escape和unescape是吧字符串转换为unicode十六进制编码,跟JSON的编码格式是一样的,所以可以通过PHP中的json_encode和json_decode实现PHP版本的escape和unescape.

代码如下:

<?php
function escape($str){
    return str_replace('\\', '%', substr(json_encode($str), 1, -1));
}

function unescape($str){
    return json_decode('"' . str_replace('%', '\\', $str) . '"');
}
$str = '%u5f90%u5dde%u5e02 %u6211%u7684%u68a6 1234';
$str_escape = '徐州市 我的梦 1234';
echo "$str<br>\n$str_escape<br>\n";
echo unescape($str), "<br>\n";
echo escape($str_escape), "<br>\n";

运行结果如下:

%u5f90%u5dde%u5e02 %u6211%u7684%u68a6 1234
徐州市 我的梦 1234
徐州市 我的梦 1234
%u5f90%u5dde%u5e02 %u6211%u7684%u68a6 1234