php类似js中escape函数及反编译函数

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);
}[/