js中的escape及unescape函數的php實現

來源:互聯網
上載者:User
js|函數
  • <?    
    function phpescape($str)
    {
             $sublen=strlen($str);
             $retrunString="";
             for ($i=0;$i<$sublen;$i++)
             {
                      if(ord($str[$i])>=127)
                      {
                               $tmpString=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2)));
                               //$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);window下可能要開啟此項
                               $retrunString.="%u".$tmpString;
                               $i++;
                      } else {
                               $retrunString.="%".dechex(ord($str[$i]));
                      }
             }
             return $retrunString;

    function unescape($str) {
             $str = rawurldecode($str);
             preg_match_all("/%u.{4}|&#x.{4};|&#\d+;|.+/U",$str,$r);
             $ar = $r[0];
             foreach($ar as $k=>$v) {
                      if(substr($v,0,2) == "%u")
                               $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4)));
                      elseif(substr($v,0,3) == "&#x")
                               $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1)));
                      elseif(substr($v,0,2) == "&#") {
                               $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1)));
                      }
             }
             return join("",$ar);
    }    
    ?>


  • 相關文章

    Beyond APAC's No.1 Cloud

    19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

    Learn more >

    Apsara Conference 2019

    The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

    Learn more >

    Alibaba Cloud Free Trial

    Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

    Learn more >

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。