欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年06月29日 09:50:50   作者:  
本篇文章是對(duì)使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
前端開(kāi)發(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ù)用戶(hù)字符串編碼,類(lèi)似于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;
}

相關(guān)文章

  • 如何使用Zephir輕松構(gòu)建PHP擴(kuò)展

    如何使用Zephir輕松構(gòu)建PHP擴(kuò)展

    通過(guò)PHP擴(kuò)展,我們可以在php代碼中使用一些特定的方法(大部分的 php擴(kuò)展都是用C寫(xiě)的)。本文將介紹如何使用Zephir輕松構(gòu)建PHP擴(kuò)展。
    2021-05-05
  • php include和require的區(qū)別深入解析

    php include和require的區(qū)別深入解析

    本篇文章是對(duì)php中include與require的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 使用Zttp簡(jiǎn)化Guzzle 調(diào)用

    使用Zttp簡(jiǎn)化Guzzle 調(diào)用

    在 PHP 的項(xiàng)目中,如果你需要通過(guò)代碼來(lái)發(fā)起 HTTP 請(qǐng)求,相信很多人對(duì) GuzzleHttp 這個(gè) Package 很熟悉,然而其實(shí)在使用 Guzzle 的時(shí)候,我們依然可以做得更簡(jiǎn)便一點(diǎn)的,下面我們就來(lái)看下今天的主角--Zhttp
    2017-07-07
  • php實(shí)現(xiàn)圖片按比例截取的方法

    php實(shí)現(xiàn)圖片按比例截取的方法

    這篇文章主要介紹了php實(shí)現(xiàn)圖片按比例截取的方法,涉及php針對(duì)圖形的讀取、運(yùn)算及生成相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • php 基礎(chǔ)函數(shù)

    php 基礎(chǔ)函數(shù)

    本文主要介紹了php的基礎(chǔ)函數(shù)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-02-02
  • PHP二維數(shù)組分頁(yè)2種實(shí)現(xiàn)方法解析

    PHP二維數(shù)組分頁(yè)2種實(shí)現(xiàn)方法解析

    這篇文章主要介紹了PHP二維數(shù)組分頁(yè)2種實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • PHP ignore_user_abort函數(shù)詳細(xì)介紹和使用實(shí)例

    PHP ignore_user_abort函數(shù)詳細(xì)介紹和使用實(shí)例

    這篇文章主要介紹了PHP ignore_user_abort函數(shù)詳細(xì)介紹和使用實(shí)例,本文包含2位作者的文章,相信可以幫你快速的理解ignore_user_abort函數(shù),需要的朋友可以參考下
    2014-07-07
  • PHP實(shí)現(xiàn)截取中文字符串不出現(xiàn)?號(hào)的解決方法

    PHP實(shí)現(xiàn)截取中文字符串不出現(xiàn)?號(hào)的解決方法

    這篇文章主要介紹了PHP實(shí)現(xiàn)截取中文字符串不出現(xiàn)?號(hào)的解決方法,涉及php字符串遍歷及編碼轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2016-12-12
  • XHProf報(bào)告字段含義的解析

    XHProf報(bào)告字段含義的解析

    下面小編就為大家?guī)?lái)一篇XHProf報(bào)告字段含義的解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • php將字符串轉(zhuǎn)換為數(shù)組實(shí)例講解

    php將字符串轉(zhuǎn)換為數(shù)組實(shí)例講解

    在本篇文章里小編給大家分享的是關(guān)于php將字符串轉(zhuǎn)換為數(shù)組實(shí)例講解,需要的朋友們可以學(xué)習(xí)下。
    2020-05-05

最新評(píng)論