php下仿javascript加密解密代码

[ 2010-12-02 21:38:39 | 作者: admin ]
字号: | |
JavascriptEscape.php
<?php
function jsescape($str){
                preg_match_all( "/[\x80-\xff].|[\x01-\x7f]+/ ",$str,$newstr);
                $ar = $newstr[0];
                foreach($ar as $k=> $v){
                     if(ord($ar[$k])>=127){
                     $tmpString=bin2hex(iconv( "GBK", "ucs-2",$v));
                     if (!eregi( "WIN",PHP_OS)){
                     $tmpString = substr($tmpString,2,2).substr($tmpString,0,2);
                     }
                     $reString.= "%u".$tmpString;
                     } else {
                     $reString.= rawurlencode($v);
                     }
                }
                return $reString;
}


function unjsescape($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"){
if (!eregi( "WIN ",PHP_OS)){
$tmpString = "%u ".substr($v,4,2).substr($v,2,2);
}
                     $ar[$k] = iconv( "UCS-2", "GB2312",pack( "H4",substr($tmpString,-4)));
     }
                elseif(substr($v,0,3) == "&#x")
                     $ar[$k] = iconv( "UCS-2", "GB2312",pack( "H4",substr($v,3,-1)));
                elseif(substr($v,0,2) == "&#") {
                     $ar[$k] = iconv( "UCS-2", "GB2312 ",pack( "n",substr($v,2,-1)));
                }
         }
         return join( " ",$ar);
}
?>
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1567

这篇日志没有评论。

此日志不可发表评论。