`
nakupanda
  • 浏览: 414586 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

php 里实现 javascript 里的unescape函数

阅读更多
function js_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 phpEscape($str,$encode="utf-8") {
  if ($encode=="" && !(function_exists("mb_detect_encoding"))) {
      echo "error You must enter the string's encoding or extend the php for mb_string";
   return ;
  }
  elseif($encode=="") {
   echo "Use mb_string function to detect the string's encoding <br/>";
      $encode = mb_detect_encoding($str);
  }
  preg_match_all("/[\xC0-\xE0].|[\xE0-\xF0]..|[\x01-\x7f]+/",$str,$r);
  //prt($r);
  $ar = $r[0];
  foreach($ar as $k=>$v) {
 $ord = ord($v[0]);
    if( $ord<=0x7F)
      $ar[$k] = rawurlencode($v);
    elseif ($ord<0xE0) {
      $ar[$k] = "%u".bin2hex(iconv($encode,"UCS-2",$v));
    }
  elseif ($ord<0xF0) {
      $ar[$k] = "%u".bin2hex(iconv($encode,"UCS-2",$v));
 }
  }//foreach
  return join("",$ar);
}
分享到:
评论

相关推荐

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

    在JavaScript中,`escape`和`unescape`是两个用于编码和解码字符串的函数。它们主要用于处理非ASCII字符,特别是在网络传输时确保数据的正确性。然而,PHP并没有直接对应的内置函数,但可以通过自定义函数来实现类似...

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

    在JavaScript中,`escape`和`unescape`函数是用来对字符串进行编码和解码的,主要是为了处理非ASCII字符。然而,在PHP中,没有直接对应的内置函数。但是,通过自定义函数,我们可以模拟这些功能。这里我们将深入探讨...

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

    因此,了解如何在PHP中实现JavaScript的escape和unescape函数非常有帮助。 首先,我们来看一下JavaScript中的escape()函数。escape()函数主要用于将字符串中的特殊字符转换为相应的编码形式,以便可以将其放在URL中...

    PHP函数库,PHP函数大全,PHP函数实例,PHP函数手册,PHP5函数库实例

    模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息...

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

    在JavaScript中,`escape()`和`unescape()`函数是用来处理字符串的编码和解码的。它们在处理URL编码和特定字符编码时非常有用。然而,PHP并没有直接等效的内置函数,但我们可以根据其功能编写相应的PHP实现。下面将...

    php模拟js函数unescape的函数代码

    PHP模拟JavaScript的unescape函数的实现涉及到了URL编码和Unicode字符的转换。unescape函数是一个JavaScript内置函数,用于将百分号编码的字符串转换为相应的字符。在PHP中,虽然没有内置的unescape函数,但可以通过...

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

    #### 三、PHP中的`phpescape`与`unescape`函数实现 下面我们将根据给定的 PHP 代码示例,详细解析如何在 PHP 中实现类似的功能。 ##### 3.1 `phpescape`函数分析 ```php function phpescape($str) { $sublen = ...

    PHP实现JS中escape与unescape的方法

    首先,本文主要讲述了在PHP中实现JavaScript中escape和unescape函数功能的方法。JavaScript中的escape函数可以将字符串转换为unicode十六进制编码,而unescape函数则可以将这种编码转换回原始字符串。由于JSON的编码...

    在PHP中实现Javascript的escape()函数代码

    总结来说,这个PHP实现的`escapeToHex()`函数是为了解决跨语言(PHP与JavaScript)之间的字符串编码问题,特别是当需要在JavaScript环境中解码时,确保编码过程与JavaScript的`unescape()`函数兼容。同时,它也展示...

    用js进行url编码后用php反解以及用php实现js的escape功能函数总结

    同时,文章也提供了解决smarttemplate模板在URL编码方面不足的方法,并且给出了一段用于实现JavaScript中escape功能的PHP函数。此外,文章还探讨了如何使用PHP对字符串进行escape编码,以便在JavaScript中使用。 ...

    PHP和JS字符串处理函数.pdf

    `escape()`和`unescape()`是JavaScript的老式字符串编码和解码方法,它们用十六进制转义序列来替换某些字符,不过现在通常推荐使用`encodeURIComponent()`和`decodeURIComponent()`。 总结起来,PHP和JavaScript都...

    php 正确解码javascript中通过escape编码后的字符

    `unescape`是JavaScript中用于解码`escape`编码的字符串,但在PHP中没有直接对应的功能,因此需要自定义函数如`phpUnescape`来实现类似的功能。 总的来说,这篇文章探讨了一个实用的PHP函数,该函数可以正确地解码...

    解析php中的escape函数

    这个函数的目的是模拟JS的unescape函数,方便在PHP中进行编码后,在客户端使用JavaScript的unescape函数进行解码。 phpEscape函数则是利用正则表达式匹配字符串中的所有字符,并根据字符是否大于128来决定使用...

    保证JavaScript和Asp、Php等后端程序间传值编码统一

    在JavaScript端解码PHP用urlencode()编码的数据时,可能需要使用两次解码函数,先用decodeURI()解码一次,再用unescape()对剩下的非字符编码进行解码。unescape()主要用来解码非字符类文字,例如标点符号等。 在...

    JavaScript中的编码和解码函数

    在JavaScript中,编码和解码函数对于处理字符串和在Web应用程序中传递数据至关重要。这些函数主要涉及URL(统一资源定位符)的构建和解析,确保数据在不同环境间安全无误地传输。以下是对JavaScript中编码和解码函数...

Global site tag (gtag.js) - Google Analytics