js中的escape及unescape函数的php实现代码

 更新时间:2007年09月04日 22:52:55   作者:  
<?    
function phpescape($str) 

         $sublen=strlen($str); 
         $retrunString=""; 
         for ($i=0;$i<$sublen;$i++) 
         { 
                  if(ord($str[$i])>=127) 
                  { 
                           $tmpString=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2))); 
                           //$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);window下可能要打开此项 
                           $retrunString.="%u".$tmpString; 
                           $i++; 
                  } else { 
                           $retrunString.="%".dechex(ord($str[$i])); 
                  } 
         } 
         return $retrunString; 
}  
function unescape($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") 
                           $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4))); 
                  elseif(substr($v,0,3) == "&#x") 
                           $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1))); 
                  elseif(substr($v,0,2) == "&#") { 
                           $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1))); 
                  } 
         } 
         return join("",$ar); 
}    
?>

相关文章

  • 使用base64对图片的二进制进行编码并用ajax进行显示

    使用base64对图片的二进制进行编码并用ajax进行显示

    这篇文章主要介绍了使用base64对图片的二进制进行编码并用ajax进行显示的相关资料,需要的朋友可以参考下
    2017-01-01
  • 详解浏览器渲染页面过程

    详解浏览器渲染页面过程

    这篇文章主要介绍了详解浏览器渲染页面过程的相关资料,需要的朋友可以参考下
    2017-02-02
  • JS设置时间无效问题的解决办法

    JS设置时间无效问题的解决办法

    在发送短信息验证码的时候要用到js设置时间倒序问题,有时候会导致js失效问题,怎么办呢?今天小编给大家分享JS设置时间无效问题的解决办法,需要的朋友参考下吧
    2017-02-02
  • layer.js open 隐藏滚动条的例子

    layer.js open 隐藏滚动条的例子

    今天小编就为大家分享一篇layer.js open 隐藏滚动条的例子,具有很好的参考价值,希望对大家有所帮助。 一起跟随小编过来看看吧
    2019-09-09
  • 微信小程序 自定义消息提示框

    微信小程序 自定义消息提示框

    这篇文章主要介绍了微信小程序 自定义消息提示框的相关资料,wx.showToast(OBJECT)接口调用,实现改功能,需要的朋友可以参考下
    2017-08-08
  • 利用JavaScript缓存远程窃取Wi-Fi密码的思路详解

    利用JavaScript缓存远程窃取Wi-Fi密码的思路详解

    这篇文章主要介绍了利用JavaScript缓存远程窃取Wi-Fi密码的方法,本文通过实例代码相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • uni-app实现数据上拉加载更多功能实例

    uni-app实现数据上拉加载更多功能实例

    数据列表在很多时候,经常会用到,下面这篇文章主要给大家介绍了关于uni-app实现数据上拉加载更多功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 使用canvas实现鲤鱼跃龙门的动画效果

    使用canvas实现鲤鱼跃龙门的动画效果

    这篇文章主要给大家介绍了使用canvas实现鲤鱼跃龙门的动画效果,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,感兴趣的小伙伴可以自己动手尝试一下
    2024-02-02
  • Canvas中绘制Geojson数据示例详解

    Canvas中绘制Geojson数据示例详解

    这篇文章主要为大家介绍了Canvas中绘制Geojson数据示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • LayUi使用switch开关,动态的去控制它是否被启用的方法

    LayUi使用switch开关,动态的去控制它是否被启用的方法

    今天小编就为大家分享一篇LayUi使用switch开关,动态的去控制它是否被启用的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09

最新评论