亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

escape與unescape函數怎么在PHP項目中實現

發布時間:2020-12-28 15:44:06 來源:億速云 閱讀:180 作者:Leah 欄目:開發技術

這篇文章給大家介紹escape與unescape函數怎么在PHP項目中實現,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

前端開發工程師都知道javascript有編碼函數escape()和對應的解碼函數unescape(),而php中只有個urlencode和urldecode,這個編碼和解碼函數對encodeURI和encodeURIComponent有效,但是對escape的是無效的。
javascript中的escape()函數和unescape()函數用戶字符串編碼,類似于PHP中的urlencode()函數,下面是php實現的escape函數代碼:

復制代碼 代碼如下:


/**
 * 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 < mb_strlen ( $string, $in_encoding ); $x ++) {
            $str = mb_substr ( $string, $x, 1, $in_encoding );
            if (strlen ( $str ) > 1) { // 多字節字符
                $return .= '%u' . strtoupper ( bin2hex ( mb_convert_encoding ( $str, $out_encoding, $in_encoding ) ) );
            } else {
                $return .= '%' . strtoupper ( bin2hex ( $str ) );
            }
        }
    }
    return $return;
}


對應的解碼php unescape代碼是:

復制代碼 代碼如下:


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;
}

關于escape與unescape函數怎么在PHP項目中實現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉山县| 竹山县| 盐亭县| 和林格尔县| 桑植县| 卢湾区| 宁陕县| 达州市| 新泰市| 客服| 南溪县| 杭州市| 花莲市| 双桥区| 通河县| 大新县| 乌苏市| 宿松县| 紫金县| 温泉县| 娱乐| 二连浩特市| 云林县| 鄂温| 黄大仙区| 宝坻区| 刚察县| 任丘市| 城市| 兴隆县| 贵南县| 什邡市| 古蔺县| 湖南省| 牙克石市| 陵川县| 新龙县| 潜江市| 抚顺市| 安顺市| 锡林郭勒盟|