js中的escape及unescape函数的php实现代码


Posted in Javascript onSeptember 04, 2007

<?    
function phpescape($str) 

         $sublen=strlen($str); 
         $retrunString=""; 
         for ($i=0;$i<$sublen;$i++) 
         { 
                  if(ord($str[$i])>=127) 
                  { 
                           $tmpString=bin2hex(iconv("gb2312","ucs-2",substr($str,$i,2))); 
                           //$tmpString=substr($tmpString,2,2).substr($tmpString,0,2);window下可能要打开此项 
                           $retrunString.="%u".$tmpString; 
                           $i++; 
                  } else { 
                           $retrunString.="%".dechex(ord($str[$i])); 
                  } 
         } 
         return $retrunString; 
}  
function unescape($str) { 
         $str = rawurldecode($str); 
         preg_match_all("/%u.{4}|&#x.{4};|&#\d+;|.+/U",$str,$r); 
         $ar = $r[0]; 
         foreach($ar as $k=>$v) { 
                  if(substr($v,0,2) == "%u") 
                           $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,-4))); 
                  elseif(substr($v,0,3) == "&#x") 
                           $ar[$k] = iconv("UCS-2","GBK",pack("H4",substr($v,3,-1))); 
                  elseif(substr($v,0,2) == "&#") { 
                           $ar[$k] = iconv("UCS-2","GBK",pack("n",substr($v,2,-1))); 
                  } 
         } 
         return join("",$ar); 
}    
?>

Javascript 相关文章推荐
用jquery来定位
Feb 20 Javascript
js中的window.open返回object的错误的解决方法
Aug 15 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
jQuery背景插件backstretch使用指南
Apr 21 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
Jun 12 Javascript
JS日程管理插件FullCalendar中文说明文档
Feb 06 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
bootstrap-table+treegrid实现树形表格
Jul 26 Javascript
简单了解vue中的v-if和v-show的区别
Oct 08 Javascript
Vue实现图书管理小案例
Dec 03 Vue.js
JavaScript圣杯布局与双飞翼布局实现案例详解
Aug 05 Javascript
一个符号插入器 中用到的js代码
Sep 04 #Javascript
【消息提示组件】,兼容IE6/7&amp;&amp;FF2
Sep 04 #Javascript
一个用js实现控制台控件的代码
Sep 04 #Javascript
科讯商业版中用到的ajax空间与分页函数
Sep 02 #Javascript
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 #Javascript
给Javascript数组插入一条记录的代码
Aug 30 #Javascript
用javascript实现给出的盒子的序列是否可连为一矩型
Aug 30 #Javascript
You might like
php session处理的定制
2009/03/16 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
php获取linux命令结果的实例
2017/03/13 PHP
thinkphp中的多表关联查询的实例详解
2017/10/12 PHP
js实现网站首页图片滚动显示
2013/02/04 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
python实现bitmap数据结构详解
2014/02/17 Python
Python的Django框架安装全攻略
2015/07/15 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
Python Pandas 箱线图的实现
2019/07/23 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
Python2与Python3关于字符串编码处理的差别总结
2020/09/07 Python
Python unittest如何生成HTMLTestRunner模块
2020/09/08 Python
分享unittest单元测试框架中几种常用的用例加载方法
2020/12/02 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
远程调用的原理
2014/07/05 面试题
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
研究生毕业自我鉴定范文
2014/03/27 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫