php下仿javascript加密解密代码
[ 2010-12-02 21:38:39 | 作者: admin ]
JavascriptEscape.php
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1567
<?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);
}
?>
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);
}
?>

这篇日志没有评论。
此日志不可发表评论。