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

js|函数

<?    
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}|.{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) == "")
                           $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);
}    
?>

时间: 2024-10-30 02:54:18

js中的escape及unescape函数的php实现的相关文章

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

<?     function phpescape($str)  {           $sublen=strlen($str);           $retrunString="";           for ($i=0;$i<$sublen;$i++)           {                    if(ord($str[$i])>=127)                    {                             $

PHP实现Javascript中的escape及unescape函数代码分享

 这篇文章主要介绍了PHP实现Javascript中的escape及unescape函数代码分享,本文给出两个实现版本,需要的朋友可以参考下     这个类相当好用.作用么,PHP做JSON传递GBK字符,比如中文,日文,韩文神马的Unicode最合适不过了.. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

PHP实现Javascript中的escape及unescape函数代码分享_php实例

这个类相当好用.作用么,PHP做JSON传递GBK字符,比如中文,日文,韩文神马的Unicode最合适不过了.. <?php classcoding { //模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 functionunescape($str) { $text=preg_replace_callback("/%u[0-9A-Za-z]{4}/",array( &$this, 'toUtf8' ),$str); returnmb_convert_e

escape()和unescape()函数的使用方法

函数 (一).示例图片效果 (二).代码<html><head><title>escape()和unescape()函数的使用方法</title></head><body><script language="javascript">function run(){alert("The esacpe value is:"+escape(document.form1.input1.valu

浅谈JS中的bind方法与函数柯里化_javascript技巧

绑定函数bind()最简单的用法是创建一个函数,使这个函数不论怎么调用都有同样的this值.不同于call和apply只是单纯地设置this的值后传参,它还会将所有传入bind()方法中的实参(第一个参数之后的参数)与this一起绑定. 关于这个特性看<JS权威指南>原文的例子: var sum = function(x,y) { return x + y }; var succ = sum.bind(null, 1); //让this指向null,其后的实参也会作为实参传入被绑定的函数sum

如何使用PHP实现javascript的escape和unescape函数

前端开发工程师都知道javascript有编码函数escape()和对应的解码函数unescape(),而php中只有个urlencode和 urldecode,这个编码和解码函数对encodeURI和encodeURIComponent有效,但是对escape的是无效的. javascript中的escape()函数和unescape()函数用户字符串编码,类似于PHP中的urlencode()函数,下面是php实现的escape函数代码: 复制代码 代码如下: /** * js escape

如何使用PHP实现javascript的escape和unescape函数_php技巧

前端开发工程师都知道javascript有编码函数escape()和对应的解码函数unescape(),而php中只有个urlencode和urldecode,这个编码和解码函数对encodeURI和encodeURIComponent有效,但是对escape的是无效的.javascript中的escape()函数和unescape()函数用户字符串编码,类似于PHP中的urlencode()函数,下面是php实现的escape函数代码: 复制代码 代码如下: /**  * js escape

JS中的substring和substr函数的区别说明_javascript技巧

1. 在JS中函数声明: stringObject.substring(start,stop) start是在原字符串检索的开始位置,stop是检索的终止位置,返回结果中不包括stop所指字符. 如:"hamburger".substring(4,8) returns "urge" 2. substr(start,length) 如:当DETAIL_TYPE 的值为1111053 时, substr(DETAIL_TYPE,1,6) = 111105 从DETAIL

在js中,为什么要往函数的原型上添加方法/属性,而不在自己本身上面添加呢?

问题描述 如题,在js中如果我想往String这个构造函数里面添加一个首字母大写的toInitialUpperCase方法,为什么人们要往String的prototype里面添加,String.prototype.toInitialUpperCase = function () { #code... }而不是向String本身添加呢?String.toInitialUpperCase = function () { #code... }如果在原型上面添加方法,感觉又要跑多一节原型链,还不如在本身