escape unescape的php下的实现方法

yipeiwu_com5年前PHP代码库
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("GB2312","UCS-2",$v)); 
 } 
 return join("",$ar); 


function unescape($str) { 
 $str = rawurldecode($str); 
 preg_match_all("/(?:%u.{4})|.+/",$str,$r); 
 $ar = $r[0]; 
 foreach($ar as $k=>$v) { 
   if(substr($v,0,2) == "%u" && strlen($v) == 6) 
     $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4))); 
 } 
 return join("",$ar); 

相关文章

六酷社区论坛HOME页清新格调免费版 下载

六酷社区论坛HOME页清新格调免费版 下载

全部是用DIV+CSS制作,调用采用直接读取数据库,速度很快的,自动生成静态HTML页。色彩可以通过CSS来控制,调出与你论坛搭配的色彩来!还可通过附带的HOME程序来做出自己喜欢的样式...

关于php unset对json_encode的影响详解

关于php unset对json_encode的影响详解

前言 PHP 中有个释放变量的语句叫做unset(从PHP4开始unset已经不再是一个函数了,而是一个语句),本文主要给大家介绍了关于php unset对json_encode影响的相...

php如何获取文件的扩展名

php如何获取文件的扩展名

网上也有很多类似的方法,不过都存在这样那样的不严谨的问题,本文就不一一分析了,这里只给出最正确的利用php 获取文件扩展名(文件后缀名)的方法。 function get_exte...

PHP应用JSON技巧讲解

php json_decode返回数据js的处理 php json_decode后,返回到前台的数据如:encode_str =》{"green":10,"size":5,"strock...

php 数组的指针操作实现代码

/** * 将数组的内部指针倒回一位 * @param array &$arr * @return mixed 返回前一个单元的值,当没有更多单元时返回 FALSE * 如果数组包含空的...