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强制下载PDF文件示例

    使用PHP强制下载PDF文件示例

    当需要下载一个PDF文件时,如果不经处理会直接在浏览器里打开PDF文件,然后再需要通过另存为才能保存下载文件,下面通过PHP来实现直接下载PDF文件
    2014-01-01
  • php获取网页请求状态程序示例

    php获取网页请求状态程序示例

    对于网页返回状态代码多数情况下我们的查看方法就是使用站长工具或ff浏览器等来查看,极少有人想到自己写一个查看状态代码的功能,本文就此简述php获取网页请求状态程序示例,需要的朋友可以参考下
    2014-06-06
  • PHP获取特殊时间戳的方法整理

    PHP获取特殊时间戳的方法整理

    时间在我们日常的代码编写中会是经常出现的筛选或排序条件,尤其是一些特殊时间节点的时间显得尤为突出。今天对部分相对简便的方法进行了部分整理,需要的可以参考一下
    2023-01-01
  • 使用PHP json_decode可能遇到的坑与解决方法

    使用PHP json_decode可能遇到的坑与解决方法

    在我们日常使用php开发的时候,经常会用到json_decode函数,最近在使用json_decode函数的发现了一个坑,想着总结分享出来,所以下面这篇文章主要给大家介绍了关于使用PHP json_decode可能遇到的坑与解决方法,需要的朋友可以参考借鉴。
    2017-08-08
  • PHP 数字左侧自动补0

    PHP 数字左侧自动补0

    举例来说:员工的工号 X001 虽然 MySQL 本身的字段设定成 zerofill 的属性时,会将不足位数的部份补上0,但是这个功能只能用在数字的字段上面。 所以必要的时候只好靠PHP来进行了。
    2008-03-03
  • php date与gmdate的获取日期的区别

    php date与gmdate的获取日期的区别

    PHP中的时间有2个格式化函数:date()和gmdate(),在官方的文档中的描述为
    2010-02-02
  • 使用PHP操作ElasticSearch搜索引擎详解

    使用PHP操作ElasticSearch搜索引擎详解

    ElasticSearch是一个基于Lucene的开源搜索引擎,它提供了强大的全文搜索和分析功能,本文将深入探讨如何使用PHP操作ElasticSearch搜索引擎,包括安装ElasticSearch、使用ElasticSearch PHP客户端库进行索引管理和搜索操作等,需要的朋友可以参考下
    2024-04-04
  • php字符串操作针对负值的判断分析

    php字符串操作针对负值的判断分析

    这篇文章主要介绍了php字符串操作针对负值的判断,实例分析了php字符串操作中针对负值的判断技巧,需要的朋友可以参考下
    2016-07-07
  • php中socket的用法详解

    php中socket的用法详解

    这篇文章主要介绍了php中socket的用法,详细讲述了PHP进行socket通信的完整步骤,非常具有参考借鉴价值,需要的朋友可以参考下
    2014-10-10
  • php实现用于删除整个目录的递归函数

    php实现用于删除整个目录的递归函数

    这篇文章主要介绍了php实现用于删除整个目录的递归函数,涉及php递归算法与目录操作技巧,需要的朋友可以参考下
    2015-03-03

最新评论