使用PHP解析JS变量定义
2015-12-20 13:17
741 查看
今天需要使用PHP对一大片JS定义变量进行解析如:var s0={};var s1=[];var s2={};var s3="9000000000655
var s0={};var s1=[];var s2={};var s3="9000000000655313";s2['COURSE_ID']=s3;var s4="2014";s2['XN']=s4;var s5="\u7B2C\u4E8C\u5B66\u671F";s2['XQ']=s5;var s6="BG3030025";s2['KCH']=s6;var s7="\u5927\u5B66\u82F1\u8BED(\u56DB)";s2['KCMC']=s7;var s8="College English IV";s2['KCYW']=s8;var s9="\u516C\u5171\u8BFE";s2['KCLB']=s9;编写PHP代码:
function parse_js($string){$pregString="/(var )?([a-zA-Z_0-9]+)(\['([a-zA-Z_0-9]+)'\])?=([^;]*);/";preg_match_all($pregString,$string,$JsArrayPre);$num=count($JsArrayPre['0']);for($i=0;$i<$num;$i++){if($JsArray[$JsArrayPre['5'][$i]])//为迭代赋值$JsArrayPre['5'][$i]=$JsArray[$JsArrayPre['5'][$i]];if($JsArrayPre['5'][$i]=="{}"||$JsArrayPre['5'][$i]=="[]")//定义数组$JsArrayPre['5'][$i]=array();if($JsArrayPre['4'][$i])//数组迭代$JsArray[$JsArrayPre['2'][$i]][$JsArrayPre['4'][$i]]=$JsArrayPre['5'][$i];else$JsArray[$JsArrayPre['2'][$i]]=$JsArrayPre['5'][$i];}return $JsArray;}这个代码能够对迭代赋值进行解析,并且最后返回解析结果
相关文章推荐
- windows server管理之IIS7 FTP 出现 "530 Valid Hostname is expected"的解决办法
- 让NexusPHP支持更多缓存
- IIS+PHP偶尔出现500
- 使用PHP,实现查询天府通余额
- 进入TP-Link路由器之后利用快捷键F12查看星号路由密码的方法
- Yii2 Activefrom表单部分组件
- PHP 取网页变量
- PHP版本常用的排序算法汇总
- PHP 乘法口诀表
- php封装好的人民币数值转中文大写类
- 【杭电】[1096]A+B for Input-Output Practice (VIII)
- 【杭电】[1095]A+B for Input-Output Practice (VII)
- 【杭电】[1094]A+B for Input-Output Practice (VI)
- 【杭电】[1093]A+B for Input-Output Practice (V)
- 【杭电】[1092]A+B for Input-Output Practice (IV)
- 【杭电】[1091]A+B for Input-Output Practice (III)
- 【杭电】[1090]A+B for Input-Output Practice (II)
- 【杭电】[1089]A+B for Input-Output Practice (I)
- 关于在Editplus中设置内容提示比如syso的快捷输出的方法
- php 安装gd模块