php进行 escape,php escape unescape
js有esacpe和unescape通过两个函数来对汉字等进行加密解密,但是php中没有与js对应的加密解密,只能通过该函数进行编码的转换,下面将js加密后的加密解密php版本列出。
function unescape($str){
$ret = '';
$len = strlen($str);
for ($i = 0; $i < $len; $i++){
if ($str[$i] == '%' && $str[$i+1] == 'u'){
$val = hexdec(substr($str, $i+2, 4));
if ($val < 0x7f) $ret .= chr($val);
else if($val < 0x800) $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f));
else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f));
$i += 5;
}
else if ($str[$i] == '%'){
$ret .= urldecode(substr($str, $i, 3));
$i += 2;
}
else $ret .= $str[$i];
}
return $ret;
}
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);
}
转载于:http://www.jb51.net/article/9723.htm
php进行 escape,php escape unescape相关推荐
- js几种escape()解码与unescape()编码
js几种escape()解码与unescape()编码 www.111cn.net 编辑:kepeer 来源:转载 一篇js几种escape()解码与unescape()编码函数,同时我们也和它和服务 ...
- html escape函数,Javascript escape() 函数和unescape() 函数
一.escape函数 escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读. 语法: escape(charString) 说明: charString是必选参数,表示要进行 ...
- 前端中unescape是什么意思_js中escape()函数和unescape()函数的功能
1.escape 方法 对 String 对象编码以便它们能在所有计算机上可读, escape(charString) 必选项 charstring 参数是要编码的任意 Str ...
- php 实现 js escape unescape
在 ajax 异步处理数据的时候,中文很容易出来乱码,所以就要用到 php 实现的 javascript escape 和 unescape 来避免中文出现乱码. 在网上找了好多,关于 javascr ...
- JS escape()和unescape()函数的介绍
escape()和unescape()是一对 编码解码 函数,一般用于URL中非ASCII字符的编码和解码! 如:escape("&")返回%26,unescape(&qu ...
- JS的编码:escape,encodeURI,encodeURIComponent,解码:unescape,decodeURI,decodeURIComp
1:参数 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断. 例如:<script language="javascript" ...
- js escape 与php escape
javascript有编码函数escape()和对应的解码函数unescape(),而php中只有个urlencode和urldecode,这个编码和解码函数对encodeURI和encodeURIC ...
- escape()、encodeURI()、encodeURIComponent()区别
JavaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decod ...
- underscore 系列之字符实体与 _.escape
前言 underscore 提供了 _.escape 函数,用于转义 HTML 字符串,替换 &, <, >, ", ', 和 ` 字符为字符实体. _.escape(' ...
最新文章
- MFC控件的颜色设置
- 深入理解 C# 协变和逆变【转】
- 重磅 |《企业埋点体系搭建方法论及实践经验》白皮书上线
- 淘宝 oracle mysql_Oracle 与 MySQL 的区别-阿里云开发者社区
- ReflectionLabel(倒影控件)
- 创建 Spring容器的三种方式
- 树莓派编译mysql卡死_关于树莓派编译工作空间卡死情况的解决办法
- 变量在函数内外的作用域 3
- vue 中provide的用法_Vue多级组件provide/inject使用详解
- Linux下使用Nohup后台运行程序
- Java实现十字链表
- Android实战开发--制作圆形头像(简易篇)
- C++ QT 下载地址
- 学习Java第十九天(一):1、Java中的网络编程
- 观江怡之《分析哲学》
- k8s调度过程中的资源分配问题
- H5创建一个简单的自动幻灯片
- 网间互联-国家级互联网骨干直联点
- 补天SRC漏洞数排名
- Oracle 正则表达式以及常用正则函数
热门文章
- E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)
- Edge 705试用
- 杂谈SuperMap支持的三维数据
- 2018全球互联网经济大会,春季峰会在南京开幕
- 【人工智能】人工智能是中国2025的歧路;人工智能只是智能制造舞台上的“小配角”
- 云原生时代,paas,apaas,ipaas,bpaas,baas,daas是什么
- python解析xml存入字典_Python将XML同级放入字典
- 基于STM32的虚拟示波器
- 无人机集群飞行控制思考
- vim中 E212:无法打开并写入文件