php escape URL编码

 更新时间:2008年12月10日 12:24:14   作者:  
php提供的URL编码函数是基于字节的,对由ie的javascript函数escape编码的数据就无能为力了。
徐祖宁的php版的escape/unescape函数
复制代码 代码如下:

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);
}

相关文章

  • 详解PHP设计模式之依赖注入模式

    详解PHP设计模式之依赖注入模式

    依赖注入模式:依赖注入是控制反转的一种实现方式。要实现控制反转,通常的解决方案是将创建被调用者实例的工作交由 IoC 容器来完成,然后在调用者中注入被调用者(通过构造器 / 方法注入实现),这样我们就实现了调用者与被调用者的解耦,该过程被称为依赖注入。
    2021-05-05
  • PHP实现的简单缓存类

    PHP实现的简单缓存类

    这篇文章主要介绍了PHP实现的简单缓存类,实例分析了php缓存文件的定义及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP打开和关闭文件操作函数总结

    PHP打开和关闭文件操作函数总结

    这篇文章主要介绍了PHP打开和关闭文件操作函数总结,本文讲解的就是fopen()和fclose()函数,其中着重讲解了fopen()函数,需要的朋友可以参考下
    2014-11-11
  • 怎样使用php与jquery设置和读取cookies

    怎样使用php与jquery设置和读取cookies

    有两种处理cookies的方式—服务端(php,asp等)和客户端(javascript).在这个教程中,我们将学习到以php和javascript这两种方式如何去创建cookies
    2013-08-08
  • php实现parent调用父类的构造方法与被覆写的方法

    php实现parent调用父类的构造方法与被覆写的方法

    这篇文章主要介绍了php实现parent调用父类的构造方法与被覆写的方法,在上一篇关于使用类继承解决代码重复问题的基础上,进一步分析了parent调用父类的构造方法与被覆写的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • php更新mysql后获取影响的行数发生异常解决方法

    php更新mysql后获取影响的行数发生异常解决方法

    mysql_affected_rows函数当UPDATE前后的数据一样时会返回异常值,接下来为大家介绍个简单的解决方法感兴趣的朋友可以参考下哈
    2013-03-03
  • php mb_substr()函数截取中文字符串应用示例

    php mb_substr()函数截取中文字符串应用示例

    substr()函数用来截取字符串,但是对于中文字符会出现问题,而mb_substr()和mb_strcut这两个函数可以,下面为大家介绍其具体用法
    2014-07-07
  • 解析php中的fopen()函数用打开文件模式说明

    解析php中的fopen()函数用打开文件模式说明

    本篇文章是对php中的fopen()函数用打开文件模式说明进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 谈谈PHP的输入输出流

    谈谈PHP的输入输出流

    谈谈PHP的输入输出流...
    2007-02-02
  • 通过php修改xml文档内容的方法

    通过php修改xml文档内容的方法

    这篇文章主要介绍了通过php修改xml文档内容的方法,涉及php针对XML节点的赋值与保存操作,需要的朋友可以参考下
    2015-01-01

最新评论