javascript的fromCharCode与php的相应解码方法

在公司OA的小程序中,通过分析修改后的网页源码,成功提取Alexa的TrafficRank等数据,实现数据更新。过程涉及正则表达式、字符串处理和JavaScript编码解码。
公司的OA里有一小程序,每天去读取alexa的Traffic Rank等数据,但发现最近无法获取,于是打开数据来源的页面,果然是改版了,查看源码,
发现想提取的数据变成一堆这样的东东:
 
<SCRIPT>
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))
</SCRIPT>

细看之下,发现要还原为正常的数据并不难,步骤如下:
 
1)用正则提取出需要的部分,即String.fromCharCode()里的参数
2)explode切入数组
 
  $code = explode(",",$str);

3)循环该数组,进行解码处理

  $re = '';
  foreach($code as $v){
    eval("\$s = $v;");
    $re.= chr($s);
  }
 
经处理后,$re就是所需的数据,当然,这里还需要去除HTML TAG的操作..
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值