escape unescape的php下的实现方法_php技巧
程序员文章站
2022-06-01 10:55:28
...
function escape($str) {
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) $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);
}
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
$ar = $r[0];
foreach($ar as $k=>$v) {
if(ord($v[0]) $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);
}
推荐阅读
-
Joomla调用系统自带编辑器的实现方法_PHP
-
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法_php技巧
-
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)_php技巧
-
PHP函数实现从一个文本字符串中提取关键字的方法_PHP
-
php数组比较实现查找连续数的方法
-
PHP使用pcntl_fork实现多进程下载图片的方法
-
Symfony2实现从数据库获取数据的方法小结_php实例
-
yii实现CheckBox复选框在同一行显示的方法,yiicheckbox_PHP教程
-
php实现建立多层级目录的方法_PHP
-
php实现session自定义会话处理器的方法_php技巧