PHP解码js escape编码的字符串

发布时间:2010年09月03日      浏览次数:736 次
php解码js的escape()编码:
/////
function unescape($str)
{
      $ret = '';
      $len = strlen($str);
      for ($i = 0; $i < $len; $i++)
      {
            if ($str[$i] == '%' && $str[$i+1] == 'u')
            {
                  $val = hexdec(substr($str, $i+2, 4));
                  if ($val < 0x7f) $ret .= chr($val);
                  else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
                  else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
                  $i += 5;
            }
            else if ($str[$i] == '%')
            {
                  $ret .= urldecode(substr($str, $i, 3));
                  $i += 2;
            }
            else $ret .= $str[$i];
      }
      return $ret;
}
////
$queryString = $_POST['queryString'];
$queryString=unescape($queryString);
$queryString=mb_convert_encoding($queryString,"GB2312","UTF-8");
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!