Escape是js 脚本的一种加密字符串的方式.具体详情可以参见http://www.w3school.com.cn/js/jsref_unescape.asp
有的网站会将中文字进行Escape编码,然后在显示时用unescape再进行转换.比如有这么一段代码
<title>广州公交查询-由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线</title>
这个是经过Escape编码的.我们需要在PHP中将其解密.在网上搜索后,得到加密和解密代码.
<?php
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);
}
function phpescape($str){//这个是加密用的
preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$newstr);
$ar = $newstr[0];
foreach($ar as $k=>$v){
if(ord($ar[$k])>=127){
$tmpString=bin2hex(iconv("GBK","ucs-2",$v));
if (!eregi("WIN",PHP_OS)){
$tmpString = substr($tmpString,2,2).substr($tmpString,0,2);
}
$reString.="%u".$tmpString;
} else {
$reString.= rawurlencode($v);
}
}
return $reString;
}
?>
我们测试一下
echo unescape("由%u91D1%u6CFD%u5927%u53A6到%u767E%u5F81%u79D1%u6280%u5927%u53A6的乘车路线");
可以得到 由金泽大厦到百征科技大厦的乘车路线
分享到:
相关推荐
3. **数据恢复**:解密后的数据可能还需要进行反预处理,比如,如果是URL编码的数据,需要使用`urldecode()`函数进行解码,还原为原本的字符串形式。 三、在URL和中文数据传输中的应用 1. **URL安全性**:在URL中...
本文给大家分享一个PHP解密Unicode及Escape加密字符串函数 <?php function uni_decode($s) { preg_match_all('/\&\#([0-9]{2,5})\;/', $s, $html_uni); preg_match_all('/[\\\%]u([0-9a-f]{4})/ie', $s, $js_...
在PHP编程中,`escape`通常指的是对字符串进行编码,以便在特定环境下(如URL、HTML、数据库查询等)安全地使用。`PHP解密`则涉及到加密算法和函数,用于将之前用加密方法处理过的数据恢复成原始形式。本文将深入...
总的来说,`风吟PHP Escape 加密/解密`涉及到的是PHP中常见的字符串编码和解码技术,这些技术在Web开发中扮演着重要角色,确保了数据在网络间安全、准确地传输。通过对`code`文件的学习和实践,开发者可以提升自己在...
对要输出的字符串进行反转换 对输入JS进行转换 寻找两个函数所有不同的元素 寻找两数组所有不同元素 得到文件类型 截取字符串中两个特定唯一字符之间的内容 截取指定长度字符串 折线图 按照比例改变图片大小...
JavaScript的`escape`函数用于对字符串进行编码,以便在URL、HTML或其他非文本上下文中使用。编码后的字符串会将某些特殊字符替换为百分比(`%`)编码的形式。然而,这种编码方式在处理Unicode字符时有一些特定的规则...
这个函数对输入的字符串进行遍历,对于超出ASCII范围的字符,使用`iconv`转换为UCS-2编码并转换为十六进制。对于普通的ASCII字符,则直接使用`dechex()`和`%`来编码。这个函数可以帮助我们理解JavaScript中的`escape...
在PHP编程语言中,`escape`解码通常指的是将通过URL编码、HTML实体编码等方式处理过的字符串还原为原始形式。本文将重点解析两种不同的PHP解码函数实现方法,一种是针对GB2312编码,另一种是针对UTF8编码。 首先,...
`password_hash()`可以自动选择最安全的哈希算法(如bcrypt或Argon2),并生成包含盐值的哈希字符串。`password_verify()`则用于比较用户输入的密码与存储的哈希是否匹配,确保安全性。 2. **加密库:MCrypt和...
PHP内置了大量的函数,涵盖了字符串处理、数学运算、日期时间、文件系统、网络通信、加密解密等多个领域。例如,`strlen()`用于计算字符串长度,`date()`用于格式化日期,`file_get_contents()`用于读取文件内容,`...
' 此处省略了该函数的实现细节,它通过遍历字符串并按照一定规则进行编码。 End Function 对于URL解码和Escape解密,ASP和PHP都有相应的函数可以实现。例如,unescape函数可以用来解码经过escape函数加密的字符串...
IP地址查询、html加密解密、弹出式窗口代码生成、、CSS生成器、html与js代码互转、HTML转换PHP代码、HTML转换为Perl代码、框架网页代码生成、GB2312转UTF8代码、网页调式器、字符串长度计算、md5加密代码、Encode...
2. **文本辅助函数**:例如`trim_string()`用于修剪字符串,`word_limiter()`用于限制文本长度,`character_limiter()`用于限制字符数量,这些函数在处理用户输入和展示内容时十分实用。 3. **日期和时间辅助函数**...
o 7.1 文字:怎样写字符串和数字 + 7.1.1 字符串 + 7.1.2 数字 + 7.1.3 十六进制值 + 7.1.4 NULL值 + 7.1.5 数据库,表,索引,列和别名的命名 # 7.1.5.1 名字的大小写敏感性 o 7.2 用户变量 o 7.3 列类型 ...
6.14 怎样使MySQL安全以对抗解密高手(cracker) 7 MySQL 语言参考 7.1 文字:怎样写字符串和数字 7.1.1 字符串 7.1.2 数字 7.1.3 十六进制值 7.1.4 NULL值 7.1.5 数据库,表,索引,...
6.13 存取拒绝(Access Denied)错误的原因 6.14 怎样使MySQL安全以对抗解密高手(cracker) 7 MySQL 语言参考 7.1 文字:怎样写字符串和数字 7.1.1 字符串 7.1.2 数字 7.1.3 十六进制...