四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

如何使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)

前端開發(fā)工程師都知道Javascript有編碼函數(shù)escape()和對應(yīng)的解碼函數(shù)unescape(),而php中只有個urlencode和urldecode,這個編碼和解碼函數(shù)對encodeURI和encodeURIComponent有效,但是對escape的是無效的。
Javascript中的escape()函數(shù)和unescape()函數(shù)用戶字符串編碼,類似于php中的urlencode()函數(shù),下面是php實(shí)現(xiàn)的escape函數(shù)代碼:
復(fù)制代碼 代碼如下:
/**
 * js escape php 實(shí)現(xiàn)
 * @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 < mb_strlen ( $string, $in_encoding ); $x ++) {
            $str = mb_substr ( $string, $x, 1, $in_encoding );
            if (strlen ( $str ) > 1) { // 多字節(jié)字符
                $return .= '%u' . strtoupper ( bin2hex ( mb_convert_encoding ( $str, $out_encoding, $in_encoding ) ) );
            } else {
                $return .= '%' . strtoupper ( bin2hex ( $str ) );
            }
        }
    }
    return $return;
}

對應(yīng)的解碼php unescape代碼是:
復(fù)制代碼 代碼如下:
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;
}

php技術(shù)如何使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 必修二英语电子课本外研版| 秦时明月动画片| 珠江电视台直播 珠江频道| 宋允雅| 喜羊羊简谱| 大尺度微电影| 忏悔三昧全文及回向文| 中川翔子| 春风不问路| 2024年村干部考公务员试题| 女人妣| 富贵不能淫翻译| high heels| 河东狮吼 电影| 雀圣 电影| 滑胎最凶的食物孕早期| 韩国伦理电影女演员| 直播惊魂夜| 大空头 电影| douyincom| 樱井步| alexis crystal| 黄造时曹查理隔世情电影| 林祖辉| 职业目标评估| 亚洲理伦| 柏拉图的电影| 护士诱惑| 禁忌爱游戏| 告白气球伴奏| 袁鸿| 康熙王朝50集版免费观看| 一江春水向东流 电视剧| 高潮艺术| 影子人| 97理伦| 西湖地图| 孙家栋的天路 电视剧| 谭凯琪| 机场特警 电视剧| cctv5+体育赛事直播时间|