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);
}
分享到:
相关推荐
在JavaScript中,`escape`和`unescape`是两个用于编码和解码字符串的函数。它们主要用于处理非ASCII字符,特别是在网络传输时确保数据的正确性。然而,PHP并没有直接对应的内置函数,但可以通过自定义函数来实现类似...
在JavaScript中,`escape`和`unescape`函数是用来对字符串进行编码和解码的,主要是为了处理非ASCII字符。然而,在PHP中,没有直接对应的内置函数。但是,通过自定义函数,我们可以模拟这些功能。这里我们将深入探讨...
因此,了解如何在PHP中实现JavaScript的escape和unescape函数非常有帮助。 首先,我们来看一下JavaScript中的escape()函数。escape()函数主要用于将字符串中的特殊字符转换为相应的编码形式,以便可以将其放在URL中...
模仿JAVASCRIPT的ESCAPE和UNESCAPE函数的功能 用curl函数读取远程文件 用file_getcontents提交数据 用php生成扭曲,有角度的验证图片(支持中文) 用正则加亮关键字 程序运行过程中直接输出 缩略图带版权信息...
在JavaScript中,`escape()`和`unescape()`函数是用来处理字符串的编码和解码的。它们在处理URL编码和特定字符编码时非常有用。然而,PHP并没有直接等效的内置函数,但我们可以根据其功能编写相应的PHP实现。下面将...
PHP模拟JavaScript的unescape函数的实现涉及到了URL编码和Unicode字符的转换。unescape函数是一个JavaScript内置函数,用于将百分号编码的字符串转换为相应的字符。在PHP中,虽然没有内置的unescape函数,但可以通过...
#### 三、PHP中的`phpescape`与`unescape`函数实现 下面我们将根据给定的 PHP 代码示例,详细解析如何在 PHP 中实现类似的功能。 ##### 3.1 `phpescape`函数分析 ```php function phpescape($str) { $sublen = ...
首先,本文主要讲述了在PHP中实现JavaScript中escape和unescape函数功能的方法。JavaScript中的escape函数可以将字符串转换为unicode十六进制编码,而unescape函数则可以将这种编码转换回原始字符串。由于JSON的编码...
总结来说,这个PHP实现的`escapeToHex()`函数是为了解决跨语言(PHP与JavaScript)之间的字符串编码问题,特别是当需要在JavaScript环境中解码时,确保编码过程与JavaScript的`unescape()`函数兼容。同时,它也展示...
同时,文章也提供了解决smarttemplate模板在URL编码方面不足的方法,并且给出了一段用于实现JavaScript中escape功能的PHP函数。此外,文章还探讨了如何使用PHP对字符串进行escape编码,以便在JavaScript中使用。 ...
`escape()`和`unescape()`是JavaScript的老式字符串编码和解码方法,它们用十六进制转义序列来替换某些字符,不过现在通常推荐使用`encodeURIComponent()`和`decodeURIComponent()`。 总结起来,PHP和JavaScript都...
`unescape`是JavaScript中用于解码`escape`编码的字符串,但在PHP中没有直接对应的功能,因此需要自定义函数如`phpUnescape`来实现类似的功能。 总的来说,这篇文章探讨了一个实用的PHP函数,该函数可以正确地解码...
这个函数的目的是模拟JS的unescape函数,方便在PHP中进行编码后,在客户端使用JavaScript的unescape函数进行解码。 phpEscape函数则是利用正则表达式匹配字符串中的所有字符,并根据字符是否大于128来决定使用...
在JavaScript端解码PHP用urlencode()编码的数据时,可能需要使用两次解码函数,先用decodeURI()解码一次,再用unescape()对剩下的非字符编码进行解码。unescape()主要用来解码非字符类文字,例如标点符号等。 在...
在JavaScript中,编码和解码函数对于处理字符串和在Web应用程序中传递数据至关重要。这些函数主要涉及URL(统一资源定位符)的构建和解析,确保数据在不同环境间安全无误地传输。以下是对JavaScript中编码和解码函数...