php专区

 首页 > php专区 > PHP应用 > php函数大全 > javascript unescape() escape() 字符编码解码函数 - php函

javascript unescape() escape() 字符编码解码函数 - php函

分享到:
【字体:
导读:
          escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法:escape(string) 参数:string 必需,描述:要被转义或编码的字符串。...

javascript unescape() escape() 字符编码解码函数

escape()函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

语法:escape(string) 参数:string 必需,描述:要被转义或编码的字符串。

返回值:已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列

  1. function phpescape($str)  
  2. {  
  3.          $sublen=strlen($str);  
  4.          $retrunstring="";  
  5.          for ($i=0;$i<$sublen;$i++)  
  6.          {  
  7.                   if(ord($str[$i])>=127)  
  8.                   {  
  9.                            $tmpstring=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2)));  
  10.                            //$tmpstring=substr($tmpstring,2,2).substr($tmpstring,0,2);window下可能要打开此项  
  11.                            $retrunstring.="%u".$tmpstring;  
  12.                            $i++;  
  13.                   } else {  
  14.                            $retrunstring.="%".dechex(ord($str[$i]));  
  15.                   }  
  16.          }  
  17.          return $retrunstring;  
  18. }  

unescape() 函数可对通过 escape() 编码的字符串进行解码。

语法:unescape(string)参数:string 必需,描述:要解码或反转义的字符串。

返回值:string 被解码后的一个副本。

说明:该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 unicode 字符 u00xx 和 uxxxx 替换这样的字符序列进行解码。

  1. function unescape($str) {  
  2.          $str = rawurldecode($str);  
  3.          preg_match_all("/%u.{4}|&#x.{4};|&#d+;|.+/u",$str,$r);  
  4.          $ar = $r[0];  
  5.          foreach($ar as $k=>$v) {  
  6.                   if(substr($v,0,2) == "%u")  
  7.                            $ar[$k] = iconv("ucs-2","gbk",pack("h4",substr($v,-4)));  
  8.                   elseif(substr($v,0,3) == "&#x")  
  9.                            $ar[$k] = iconv("ucs-2","gbk",pack("h4",substr($v,3,-1)));  
  10.                   elseif(substr($v,0,2) == "&#") {  
  11.                            $ar[$k] = iconv("ucs-2","gbk",pack("n",substr($v,2,-1)));  
  12.                   }  
  13.          }  
  14.          return join("",$ar);  

分享到:
php session_cache_limiter session_cach...
php session_cache_limiter session_cache_expire等函数 session_cache_limiter() 返回当前缓存限制的名字. 如果指定了 cache_limiter, 当前的缓存限制的名字被改为新值. 缓存限制控制着 http 头发送到客户端的缓存控制. 这些确定页面内容规则的头内容可以被缓存.如果设置缓存设置为没有缓...
php创建临时文件tempnam与tmpfile区别 - ...
php创建临时文件tempnam与tmpfile区别 tempnam() 函数创建一个具有唯一文件名的临时文件,若成功,则该函数返回新的临时文件名,若失败,则返回false。 语法:tempnam(dir,prefix) function dir_wriable($dir)         //自定义函数扩展建立临时文件  {    $test=tempn...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……