javascript的fromCharCode与php的相应解码方法
时间:2007-03-21 来源:一地风飞
公司的OA里有一小程序,每天去读取alexa的Traffic Rank等数据,但发现最近无法获取,于是打开数据来源的页面,果然是改版了,查看源码,
发现想提取的数据变成一堆这样的东东:
document.write(String.fromCharCode
(34+16,40+20,56+27,54+26,65+32,74+36,42+20,40+20,32+15,56+27,54+26,65+32,74+36,42+20,30+14,40+20,56+27,54+26,65+32,52+26,
42+20,40+20,32+15,56+27,54+26,65+32,52+26,42+20,33+16,38+19,40+20,56+27,75+37,65+32,74+36,42+20,40+20,32+15,56+27,75+37,6
5+32,74+36,42+20,37+18))
细看之下,发现要还原为正常的数据并不难,步骤如下:
1)用正则提取出需要的部分,即String.fromCharCode()里的参数
2)explode切入数组
$code = explode(",",$str);
3)循环该数组,进行解码处理
$re = '';
foreach($code as $v){
eval("\$s = $v;");
$re.= chr($s);
}
经处理后,$re就是所需的数据,当然,这里还需要去除HTML TAG的操作..
发现想提取的数据变成一堆这样的东东:
document.write(String.fromCharCode
(34+16,40+20,56+27,54+26,65+32,74+36,42+20,40+20,32+15,56+27,54+26,65+32,74+36,42+20,30+14,40+20,56+27,54+26,65+32,52+26,
42+20,40+20,32+15,56+27,54+26,65+32,52+26,42+20,33+16,38+19,40+20,56+27,75+37,65+32,74+36,42+20,40+20,32+15,56+27,75+37,6
5+32,74+36,42+20,37+18))
细看之下,发现要还原为正常的数据并不难,步骤如下:
1)用正则提取出需要的部分,即String.fromCharCode()里的参数
2)explode切入数组
$code = explode(",",$str);
3)循环该数组,进行解码处理
$re = '';
foreach($code as $v){
eval("\$s = $v;");
$re.= chr($s);
}
经处理后,$re就是所需的数据,当然,这里还需要去除HTML TAG的操作..
相关阅读 更多 +
排行榜 更多 +