当前位置: 首页 > 图文教程 > 网络编程 > PHP > escape unescape的php下的实现方法

PHP
PHP新手上路(十四)
PHP新手上路(十三)
PHP新手上路(十二)
PHP新手上路(十一)
其他功能
用PHP动态生成虚拟现实VRML网页
一个可以删除字符串中HTML标记的PHP函数
让你同时上传 1000 个文件 (一)
php生成WAP页面
html中select语句读取mysql表中内容
在IIS上安装PHP4.0正式版
在PWS上安装PHP4.0正式版
简单的页面缓冲技术
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
PHP新手上路(七)
PHP新手上路(六)
PHP新手上路(五)
PHP新手上路(四)
PHP新手上路(三)
PHP新手上路(二)

PHP 中的 escape unescape的php下的实现方法


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

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