php正确解码javascript中通过escape编码后的字符
2010-01-28 12:34
423 查看
js的escape如何在PHP中来解呢?
下面的这个函数可以正确的解析,网上有不少unescape的函数,但好用的不多.
这是很久以前收集的一个,不知道谁写的了,但经过测试没有问题~
JavaScript代码
摘自:http://www.koyoz.com/blog/?action=show&id=207[/code]
下面的这个函数可以正确的解析,网上有不少unescape的函数,但好用的不多.
这是很久以前收集的一个,不知道谁写的了,但经过测试没有问题~
JavaScript代码
代码 01.function phpUnescape($escstr) 02.{ 03. preg_match_all("/%u[0-9A-Za-z]{4}|%.{2}|[0-9a-zA-Z.+-_]+/", $escstr, $matches); 04. $ar = &$matches[0]; 05. $c = ""; 06. foreach($ar as $val) 07. { 08. if (substr($val, 0, 1) != "%") 09. { 10. $c .= $val; 11. } elseif (substr($val, 1, 1) != "u") 12. { 13. $x = hexdec(substr($val, 1, 2)); 14. $c .= chr($x); 15. } 16. else 17. { 18. $val = intval(substr($val, 2), 16); 19. if ($val < 0x7F) // 0000-007F 20. { 21. $c .= chr($val); 22. } elseif ($val < 0x800) // 0080-0800 23. { 24. $c .= chr(0xC0 | ($val / 64)); 25. $c .= chr(0x80 | ($val % 64)); 26. } 27. else // 0800-FFFF 28. { 29. $c .= chr(0xE0 | (($val / 64) / 64)); 30. $c .= chr(0x80 | (($val / 64) % 64)); 31. $c .= chr(0x80 | ($val % 64)); 32. } 33. } 34. } 35. 36. return $c; 37.} escape编码后:%u6D4B%u8BD5www.koyoz.com%22%22%27%27%3C%3E%26%26
解码后:
[code]测试www.koyoz.com""''<>&&
摘自:http://www.koyoz.com/blog/?action=show&id=207[/code]
相关文章推荐
- php正确解码javascript中通过escape编码后的字符
- php 正确解码javascript中通过escape编码后的字符
- php正确解码javascript中通过escape编码后的字符
- 在Android中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- 在Java中正确解码用Javascript:escape()编码的中文字符
- Java中正确解码用Javascript:escape()编码的中文字符
- PHP解码js的escape编码的字符
- PHP解码js的escape编码的字符
- C#后台对javascript的escape()方法编码后的字符进行解码
- javascript用escape编码后如何用php进行解码?
- JavaScript PHP 通过URLEncode字串判断其编码是UTF-8还是GBK
- PHP解码unicode编码的中文字符
- 【javascript基础】 JS中编码解码escape、encodeURI、encodeURIComponent区别详解【转】