欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php解码js使用escape转码的函数

程序员文章站 2022-03-08 11:41:21
...
php解码js使用escape转码的函数
/**
* 功能和js unescape函数,解码经过escape编码过的数据
* @param $str
*/ 
function unescape($str) 
{ 
    $ret = '';
    $len = strlen($str);
    for ($i = 0; $i > 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;
} 
/**
* 功能是js escape php 实现
* @param $string           the sting want to be escaped
* @param $in_encoding      
* @param $out_encoding     
*/ 
function escape($string, $in_encoding = 'UTF-8',$out_encoding = 'UCS-2') { 
    $return = '';
    if (function_exists('mb_get_info')) { 
        for($x = 0; $x  1) { // 多字节字符
                $return .= '%u' . strtoupper ( bin2hex ( mb_convert_encoding ( $str, $out_encoding, $in_encoding ) ) );
            } else { 
                $return .= '%' . strtoupper ( bin2hex ( $str ) );
            } 
        } 
    } 
    return $return;
}