好的,我有这个页面我想要关闭内容..但是统计数据是用JavaScript制作的。有什么办法可以获得统计数据吗?我尝试使用PHP get_content thingy ......
以下是我想要获取的页面中的示例。此<script>
位于<body>
标记之间。
< script >
na=0;
S=new Array;
S[na]="|Beal|3266561|137|131|1170664|714062|1378742|2375|128|322|"; na++;
S[na]="|Marine|2446933|165554|125613|1116688|652869|187250|23773|27019|148167|"; na++;
S[na]="|Krackle1|2306919|342794|440503|372482|238609|442226|146516|177399|146390|"; na++;
S[na]="|LawyerUpSir|1666817|60579|236847|379476|219395|446057|149787|151306|23370|"; na++;
S[na]="|IKillToWin|1657426|94695|214229|800157|446579|59618|9132|8861|24155|"; na++;
S[na]="|Farts|1644623|6885|8790|972072|586678|49249|10558|2838|7553|"; na++;
< / script >
答案 0 :(得分:1)
查看http://ca.php.net/manual/en/function.domxml-open-file.php以将URL打开为XML DOM。然后,您可以使用http://ca.php.net/manual/en/function.domdocument-get-elements-by-tagname.php解析XML DOM以获取<script>
标记。
答案 1 :(得分:1)
我希望您的意思是通过file_get_contents()
远程获取该页面的来源。然后,您只需要使用正则表达式来匹配源代码中以S[na]
开头的所有行,然后在|
上展开以获取数组形式。这应该会以可行的格式为您提供数据。
$content = <<<END
<script>
na=0;
S=new Array;
S[na]="|Beal|3266561|137|131|1170664|714062|1378742|2375|128|322|"; na++;
S[na]="|Marine|2446933|165554|125613|1116688|652869|187250|23773|27019|148167|"; na++;
S[na]="|Krackle1|2306919|342794|440503|372482|238609|442226|146516|177399|146390|"; na++;
S[na]="|LawyerUpSir|1666817|60579|236847|379476|219395|446057|149787|151306|23370|"; na++;
S[na]="|IKillToWin|1657426|94695|214229|800157|446579|59618|9132|8861|24155|"; na++;
S[na]="|Farts|1644623|6885|8790|972072|586678|49249|10558|2838|7553|"; na++;
</script>
...some HTML here..
END;
$matches = array() ;
preg_match_all("/S\[na\]\=\"\|(.*)\"\;\sna\+\+\;/", $content, $matches) ;
$stats = array() ;
if (count($matches) > 0 && is_array($matches[1])) {
foreach ($matches[1] as $match) {
$stats[] = $match ;
}
}