PHP实现JavaScript的escape和unescape
2008-10-18 16:17
645 查看
function.php
function escape($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 unescape($str) {
$str = rawurldecode($str);
preg_match_all( "/(?:%u.{4})|.{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) == " ")
$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);
}
document.write(unescape('<?php echo escape('测试,看看吧!');?>'));
ELSE
function escape($str) {
preg_match_all("/[/x80-/xff].|[/x01-/x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("BIG5","UCS-2",$v));
}
return join("",$ar);
}
alert(unescape('$str'));
Else: http://topic.csdn.net/u/20080928/10/cde07c2d-5b07-4d98-8dfa-eb6ee7e28bad.html
function escape($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 unescape($str) {
$str = rawurldecode($str);
preg_match_all( "/(?:%u.{4})|.{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) == " ")
$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);
}
document.write(unescape('<?php echo escape('测试,看看吧!');?>'));
ELSE
function escape($str) {
preg_match_all("/[/x80-/xff].|[/x01-/x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) < 128)
$ar[$k] = rawurlencode($v);
else
$ar[$k] = "%u".bin2hex(iconv("BIG5","UCS-2",$v));
}
return join("",$ar);
}
alert(unescape('$str'));
Else: http://topic.csdn.net/u/20080928/10/cde07c2d-5b07-4d98-8dfa-eb6ee7e28bad.html
相关文章推荐
- PHP实现类似JAVASCRIPT中的escape()和unescape()编码.
- PHP实现Javascript的escape(),unescape()的方法
- PHP实现javascript的escape和unescape函数
- javascript escape/unescape编码的Java实现
- JavaScript escape/unescape编码的Java实现[摘]
- php实现escape和Unescape方法
- 在PHP中实现Javascript的escape()函数代码
- php仿javascript的escape和unescape用于简单网页加密
- .net里面实现javascript中的 escape 和 unescape 功能
- 如何使用PHP实现javascript的escape和unescape函数
- 在PHP中实现Javascript的escape()函数代码
- escape unescape的php下的实现方法
- PHP实现javascript的escape和unescape函数
- 使用php实现javascript的escape和unescape函数
- 如何使用PHP实现javascript的escape和unescape函数
- 如何使用PHP实现javascript的escape和unescape函数
- PHP实现JS中escape与unescape的方法
- c# 实现javascript中的escape和unescape
- PHP实现Javascript中的escape及unescape函数代码分享
- PHP实现Javascript中的escape及unescape函数代码分享