unescape,json_decode另类用法
javascript有个escape函数,虽然现在已经不建议使用,但还是会碰到许多escape过的字符串需要解码。因为javascript的escape实际上是个unicode编码,要转成utf8或者其他编码是很麻烦的。php5.2内置的json扩展除了用于json以外,其实也可以用来unescape。json / javascript里的字符串在字符串常量的表示里,也可以用\u5C71这样的方式,而escape的结果里,只是把那个 \ 换成了 % 。所以,只要用类似下面的代码就可以转换回来。而对于\u5C71这种形式的编码的串,只需要在两头加上双引号,然后json_decode就可以了。
echo json_decode(str_replace('%','\\', '"%u4ECE%u524D%u6709%u5EA7%u5C71"'));
页:
[1]