This is one collected a long time ago. I don't know who wrote it, but there is no problem after testing ~
Javascript Code
Copy code Code: function phpunescape ($ escstr)
{
Preg_match_all ("/% u [0-9a-za-z] {4} | %. {2} | [0-9a-za-z. +-_] +/", $ escstr, $ matches );
$ AR = & $ matches [0];
$ C = "";
Foreach ($ Ar as $ Val)
{
If (substr ($ Val, 0, 1 )! = "% ")
{
$ C. = $ val;
} Elseif (substr ($ Val, 1, 1 )! = "U ")
{
$ X = hexdec (substr ($ Val, 1, 2 ));
$ C. = CHR ($ X );
}
Else
{
$ Val = intval (substr ($ Val, 2), 16 );
If ($ Val <0x7f) // else -007f
{
$ C. = CHR ($ Val );
} Elseif ($ Val <0x800) // 0080-0800
{
$ C. = CHR (0xc0 | ($ Val/64 ));
$ C. = CHR (0x80 | ($ Val % 64 ));
}
Else // 0800-ffff
{
$ C. = CHR (0xe0 | ($ Val/64)/64 ));
$ C. = CHR (0x80 | ($ Val/64) % 64 ));
$ C. = CHR (0x80 | ($ Val % 64 ));
}
}
}
Return $ C;
}
After escape encoding:Copy codeThe Code is as follows: % u6d4b % u8bd5www.jb51.net % 22% 22% 27% 27% 3C % 3E % 26% 26
After decoding:Copy codeThe Code is as follows: Test www.jb51.net "" ''<> &&