用正则获取一段文本中的关键字,非常的有难度 本帖最后由 bing475879749 于 2010-10-21 17:19:30 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人认为 既然数据是 符合json规则的完全可以eval之后读取相应数据~~~! 这个明显是JSON数据, 为什么用JSON 库解析呢? text是你绑定后的json对象var cols = text.widgetdata.g_Dressup.windows;for(var i in cols) { cols[i].mode//你要的mode cols[i].height//你要的height cols[i].width//你要的width}for(var j in text.widgetdata._99_5) { j//col[i].mode所对应的值 text.widgetdata._99_5[j].qhtml //包含url的text,这个时候再做处理不是简单多了吗} 顶这个,难不成还想自己实现json解析 给楼主写了一个方法,步骤如下,首先构造json对象,就是staticData_Callback函数内的参数,其次,取出所有的mode/height/width,然后通过mode取src,如下:var data={ widgetdata:{ g_Dressup:{windows:[{appid:99,mode:13,posx:124,posy:38,posz:0,height:394,width:276,wndid:13},{appid:99,mode:76,posx:417,posy:233,posz:1,height:200,width:175,wndid:76},{appid:99,mode:75,posx:129,posy:44,posz:2,height:383,width:175,wndid:75},{appid:99,mode:5,posx:389,posy:236,posz:3,height:188,width:175,wndid:5}]}, g_StaticFlag:"", g_ReadOnly:0, g_Errno:0, g_Needfix:0, g_Abapps:[]},_99_5:{5:{result:"0",qhtml:"\x3Cqz:title type=\x22flash\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Cqz:swf swfsrc=\x22http://www.xxx.cn/flash/01/61.swf\x22 width=\x220\x22 height=\x220\x22 loop=\x22true\x22 waitforclick=\x22false\x22 wmode=\x22transparent\x22/>\x3C/div>",qscript:"",qstyle:""}},_99_13:{13:{result:"0",qhtml:"\x3Cqz:title type=\x22image\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Ca target=\x22_blank\x22 href=\x22\x22>\x3Cimg src=\x22http://www.xxx.com/img/xx.jpg\x22 width=\x220\x22 height=\x220\x22/>\x3C/a>\x3C/div>",qscript:"",qstyle:""}},_99_75:{75:{result:"0",qhtml:"\x3Cqz:title type=\x22flash\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Cqz:swf swfsrc=\x22http://imgfree.xxx.com/free/flash/61.swf\x22 width=\x220\x22 height=\x220\x22 loop=\x22false\x22 waitforclick=\x22false\x22 wmode=\x22transparent\x22/>\x3C/div>",qscript:"",qstyle:""}},_99_76:{76:{result:"0",qhtml:"\x3Cqz:title type=\x22plist\x22 moduleborder=\x22false\x22>33\x3C/qz:title>\x3Cdl>\x3Cdiv class=\x22bbor3 spb\x22 style=\x22clear:both;padding-bottom:5px;\x22>\x3Cdiv class=\x22spr left\x22>\x3Ca href=\x22\x22 target=\x22_blank\x22>\x3Cimg src=\x22http://\x22 alt=\x22\x22/>\x3C/a>\x3C/div>\x3Cp>\x3Ca href=\x22\x22 target=\x22_blank\x22>\x3C/a>\x3C/p>\x3Cp>fff\x3C/p>\x3Cdiv class=\x22clear\x22>\x3C/div>\x3C/div>\x3C/dl>",qscript:"",qstyle:""}}}var str=[];for(var i=0;i<data.widgetdata.g_Dressup.windows.length;i++){ str[i]={}; str[i]={mode:data.widgetdata.g_Dressup.windows[i].mode, width:data.widgetdata.g_Dressup.windows[i].width, height:data.widgetdata.g_Dressup.windows[i].height}; eval("var _html=data._99_"+str[i].mode+".qhtml"); str[i].src=_html.match(/(swf){0,1}src\s*=\s*\x22.+?\x22/ig)[0];} 其中的数组变量str最终就是楼主要的结果,如下:src=[{height:188,width:175,src:http://www.xxx.cn/flash/01/61.swf},{height:394,width:276,src:http://www.xxx.com/img/xx.jpg},{height:383,width:175,src:http://imgfree.xxx.com/free/flash/61.swf}] 用户能不能绕过部分JS代码呢? jqmodal插件弹出对话框问题,类似登陆界面 急急急,ext遍历formPanel后怎么得到值。。 javascript显示整型数据的问题,急!急!急! 关于正则表达式的求解 生日验证函数 在线急问!如何取鼠标点击区域的层的绝对坐标位置!up有分! 简单的一个添零问题 怎样用 ALERT()函数显示一个整数变量? iframe中的js想调用外部frame的js方法,可以吗?怎么实现? 【【如何用js操作iframe的scrolling属性???】】 JavaScript 简洁版 俄罗斯方块
完全可以eval之后读取相应数据~~~!
var cols = text.widgetdata.g_Dressup.windows;
for(var i in cols) {
cols[i].mode//你要的mode
cols[i].height//你要的height
cols[i].width//你要的width
}
for(var j in text.widgetdata._99_5) {
j//col[i].mode所对应的值
text.widgetdata._99_5[j].qhtml //包含url的text,这个时候再做处理不是简单多了吗
}
顶这个,难不成还想自己实现json解析
var data={
widgetdata:{
g_Dressup:
{windows:
[{appid:99,mode:13,posx:124,posy:38,posz:0,height:394,width:276,wndid:13},
{appid:99,mode:76,posx:417,posy:233,posz:1,height:200,width:175,wndid:76},
{appid:99,mode:75,posx:129,posy:44,posz:2,height:383,width:175,wndid:75},
{appid:99,mode:5,posx:389,posy:236,posz:3,height:188,width:175,wndid:5}]
},
g_StaticFlag:"",
g_ReadOnly:0,
g_Errno:0,
g_Needfix:0,
g_Abapps:[]
},
_99_5:
{5:{
result:"0",
qhtml:"\x3Cqz:title type=\x22flash\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Cqz:swf swfsrc=\x22http://www.xxx.cn/flash/01/61.swf\x22 width=\x220\x22 height=\x220\x22 loop=\x22true\x22 waitforclick=\x22false\x22 wmode=\x22transparent\x22/>\x3C/div>",
qscript:"",
qstyle:""
}
}
,
_99_13:
{13:{
result:"0",
qhtml:"\x3Cqz:title type=\x22image\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Ca target=\x22_blank\x22 href=\x22\x22>\x3Cimg src=\x22http://www.xxx.com/img/xx.jpg\x22 width=\x220\x22 height=\x220\x22/>\x3C/a>\x3C/div>",
qscript:"",
qstyle:""
}
}
,_99_75:
{75:{
result:"0",
qhtml:"\x3Cqz:title type=\x22flash\x22 moduleborder=\x22false\x22>\x3C/qz:title>\x3Cdiv>\x3Cqz:swf swfsrc=\x22http://imgfree.xxx.com/free/flash/61.swf\x22 width=\x220\x22 height=\x220\x22 loop=\x22false\x22 waitforclick=\x22false\x22 wmode=\x22transparent\x22/>\x3C/div>",
qscript:"",
qstyle:""
}
}
,_99_76:
{76:{
result:"0",
qhtml:"\x3Cqz:title type=\x22plist\x22 moduleborder=\x22false\x22>33\x3C/qz:title>\x3Cdl>\x3Cdiv class=\x22bbor3 spb\x22 style=\x22clear:both;padding-bottom:5px;\x22>\x3Cdiv class=\x22spr left\x22>\x3Ca href=\x22\x22 target=\x22_blank\x22>\x3Cimg src=\x22http://\x22 alt=\x22\x22/>\x3C/a>\x3C/div>\x3Cp>\x3Ca href=\x22\x22 target=\x22_blank\x22>\x3C/a>\x3C/p>\x3Cp>fff\x3C/p>\x3Cdiv class=\x22clear\x22>\x3C/div>\x3C/div>\x3C/dl>",
qscript:"",
qstyle:""
}
}
}
var str=[];
for(var i=0;i<data.widgetdata.g_Dressup.windows.length;i++){
str[i]={};
str[i]={mode:data.widgetdata.g_Dressup.windows[i].mode,
width:data.widgetdata.g_Dressup.windows[i].width,
height:data.widgetdata.g_Dressup.windows[i].height};
eval("var _html=data._99_"+str[i].mode+".qhtml");
str[i].src=_html.match(/(swf){0,1}src\s*=\s*\x22.+?\x22/ig)[0];
}
src=[
{height:188,width:175,src:http://www.xxx.cn/flash/01/61.swf},
{height:394,width:276,src:http://www.xxx.com/img/xx.jpg},
{height:383,width:175,src:http://imgfree.xxx.com/free/flash/61.swf}
]