激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - 如何使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)

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

2020-05-04 15:03PHP教程網(wǎng) PHP教程

本篇文章是對(duì)使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

前端開發(fā)工程師都知道javascript有編碼函數(shù)escape()和對(duì)應(yīng)的解碼函數(shù)unescape(),而php中只有個(gè)urlencode和urldecode,這個(gè)編碼和解碼函數(shù)對(duì)encodeURI和encodeURIComponent有效,但是對(duì)escape的是無(wú)效的。
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;
}


對(duì)應(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;
}


延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产a级久久 | 免费观看一级黄色片 | 中文字幕网站在线 | 欧美一级做一a做片性视频 日韩黄色片免费看 | 国产精品久久久久久238 | 国产精品久久久久久久久久久天堂 | 成人做爰www免费看 欧美精品免费一区二区三区 | 国产免费高清 | 福利在线播放 | 久久久久中文字幕 | 激情大乳女做爰办公室韩国 | 在线观看视频日本 | 免费观看国产精品视频 | 亚洲国产精品久久久久婷婷老年 | 久久久久九九九女人毛片 | 91短视频网页版 | 青青久在线视频 | 美女一级毛片 | 美女羞羞视频在线观看 | 欧美一级棒 | 国产午夜电影在线观看 | 看免费5xxaaa毛片 | 91精品国产一区二区在线观看 | 欧美xxxx精品另类 | 香蕉视频1024 | 国产精品午夜未成人免费观看 | 欧美成人国产va精品日本一级 | 国产精品999在线观看 | 91精品国产777在线观看 | 黄色免费av网站 | 国产伦精品一区二区三区 | 91av在线国产 | 国产午夜精品久久久久久久蜜臀 | 久草在线资源福利站 | 欧美特一级| 欧美一级在线免费 | 国产成人高潮免费观看精品 | 国产精品视频一区二区三区四 | 日本在线国产 | 久久久99精品视频 | 久久久久久久久久美女 |