jiaxp 发表于 2017-4-1 12:29:30

php js_unescape correspond to js escape

//php js_unescape correspond to js escape
function js_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;
}
页: [1]
查看完整版本: php js_unescape correspond to js escape