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

 更新时间:2007年09月04日 22:52:55   作者:  
<?    
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 Typescript基础使用教程

    JavaScript Typescript基础使用教程

    TypeScript是Microsoft(微软)开发的一种开源编程语言,它充分利用了JavaScript原有的对象模型,并在此基础上进行了扩充,TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何一种JS运行环境中
    2022-12-12
  • JavaScript中的concat()方法的用法详解

    JavaScript中的concat()方法的用法详解

    在 JavaScript 中,数组和字符串都是常用的数据结构,在实际开发中,操作数组和字符串是非常频繁的任务,concat() 方法就是用于合并数组或字符串的一种常见方法,在本文中,我们将详细探讨 concat() 方法的用法和示例,需要的朋友可以参考下
    2024-11-11
  • 微信小程序canvas分享海报功能

    微信小程序canvas分享海报功能

    这篇文章主要为大家详细介绍了微信小程序canvas分享海报功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • js显示当前日期时间和星期几

    js显示当前日期时间和星期几

    这篇文章主要介绍了js获取当前日期时间同时显示星期的方法,具有参考价值,感兴趣的小伙伴们可以参考一下
    2015-10-10
  • Dom加载让图片加载完再执行的脚本代码

    Dom加载让图片加载完再执行的脚本代码

    当大家使用window.onload执行一个函数时,必须要等到页面上的图片等信息全部加载完毕之后才执行的。但很多时候图片的数量比较多,所以需要很多时间下载。更令人尴尬的是,当网页文档(或者说Dom)已经加载完毕,而图片尚未加载完毕,很多用户已经开始浏览网页,但这时很多由window.onload所触发的函数不能执行,这就导致一部分功能不能完美地给用户使用,更严重的是会给用户留下不好的印象!
    2008-05-05
  • 前端实现文件的断点续传(前端文件提交+后端PHP文件接收)

    前端实现文件的断点续传(前端文件提交+后端PHP文件接收)

    本文通过断点续传的简单例子(前端文件提交+后端PHP文件接收),本文以图片为实例给大家介绍的非常详细,具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
    2016-11-11
  • JS弹出窗口代码大全(详细整理)

    JS弹出窗口代码大全(详细整理)

    如何利用网页弹出各种形式的窗口,我想大家大多都是知道些的,但那种多种多样的弹出式窗口是怎么搞出来的,平时利用业余时间整理了一些,需要的朋友可以参考一下
    2012-12-12
  • Uniapp微信小程序实现全局事件监听并进行数据埋点的方法

    Uniapp微信小程序实现全局事件监听并进行数据埋点的方法

    niapp起源 uni-app是一个使用Vue.js开发所有前端应用的框架,下面这篇文章主要给大家介绍了关于Uniapp微信小程序实现全局事件监听并进行数据埋点的相关资料,需要的朋友可以参考下
    2022-11-11
  • JS中关于Class类的静态属性和静态方法

    JS中关于Class类的静态属性和静态方法

    这篇文章主要介绍了JS中关于Class类的静态属性和静态方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • 基于javascript实现日历功能原理及代码实例

    基于javascript实现日历功能原理及代码实例

    这篇文章主要介绍了基于javascript实现日历效果原理及代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05

最新评论