一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 如何使用PHP實現javascript的escape和unescape函數

如何使用PHP實現javascript的escape和unescape函數

2020-05-04 15:03PHP教程網 PHP教程

本篇文章是對使用PHP實現javascript的escape和unescape函數的方法進行了詳細的分析介紹,需要的朋友參考下

前端開發工程師都知道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;
}


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧乱色国产精品兔费视频 | 99久久久久国产精品免费 | 免费黄色片网站 | 水多多www视频在线观看高清 | 欧美久在线观看在线观看 | 欧洲vodafonewi喷潮 | 国产免费丝袜调教视频 | 国产xxxxxx久色视频在 | 国产1区二区 | 九色PORNY蝌蚪视频首页 | 欧美美女被爆操 | 涩色网| 99热这里有免费国产精品 | 外国老少性配 | 欧洲网色偷偷亚洲男人的天堂 | 国产精品亚欧美一区二区三区 | 精品精品国产自在久久高清 | 国产一级特黄aa大片免费 | 亚洲国产婷婷俺也色综合 | 日本一区二区三区在线 视频 | 我不卡影院手机在线观看 | 深夜福利一区 | 国产欧美日韩不卡一区二区三区 | 日本动漫啪啪动画片mv | 欧美视频一区二区专区 | 久久精品久久久久 | 美女无遮挡| 国产精品久久香蕉免费播放 | 亚洲国产成人精品无码区APP | 欧美成人日韩 | 91麻豆精品国产片在线观看 | 亚洲欧美一区二区久久 | 秋霞理论最新三级理论最 | 成人免费淫片95视频观看网站 | 99精彩视频在线观看 | 久9青青cao精品视频在线 | 草莓在线 | 午夜影院0606 | 女教师波多野结衣高清在线 | 秋霞午夜视频在线观看 | 国产日韩欧美精品在线 |