当前位置: 首页 > 图文教程 > 网络编程 > PHP > php escape URL编码

PHP
服务器端解压缩zip的脚本
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
PHP+JS无限级可伸缩菜单详解(简单易懂)
实例(Smarty+FCKeditor新闻系统)
影响PHP+MYSQL执行速度的写法对比
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
增加反向链接的101个方法 站长推荐
PHP音乐采集(部分代码)
用PHPdig打造属于你自己的Google[图文教程]
几篇关于无限分类算法的文章
解决GD中文乱码问题
浅析PHP水印技术
珊瑚虫IP库浅析
excellent!:ASCII Art(由目标图象生成ascii)
用PHP实现Ftp用户的在线管理的代码
可定制的PHP缩略图生成程式(需要GD库支持)
15种PHP Encoder的比较
利用discuz自带通行证整合dedecms的方法以及文件下载
用PHP 快速生成 Flash 动画的方法
六酷社区论坛HOME页清新格调免费版 下载

PHP 中的 php escape URL编码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 183 ::
收藏到网摘: n/a

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