在php程序中,我在$ page变量中有一个网页。
...
$page = file_get_contents("http://www.autostrade.it/autostrade-gis/gis.do", false, $context);
$dom = new DOMDocument;
$dom->loadHTML($);
$xpath = new DOMXPath($dom);
...
在这个页面中有一些javascript,我想获取名为" evtsVar"的变量中包含的json数据。
...
<script ...>
...
</script>
<script ...>
...
var evtsVar = {json data}
...
</script>
使用Xpath查询是正确的方法吗?如何获取此变量值?
谢谢大家,对不起我的英语。
答案 0 :(得分:0)
这是关于某个页面的非常具体的问题。我已经分析了您提供链接的页面。脚本标记中有一个变量。你想在JSON中得到它。
我已经使用jquery作为解决方案,强烈推荐给你。
首先获取页面:
<?
$page = file_get_contents("http://www.autostrade.it/autostrade-gis/gis.do", false, $context);
?>
然后在javascript变量中获取页面:
var page = <?php echo json_encode( $page ) ?>;
现在我们有了这个页面,我们应该找到以&#34; var evtsVar =&#34;开头的字符串,以&#34;;&#34;结尾:
var preString = "var evtsVar = ";
var postString = ";";
var preIndex = page.indexOf( preString );
var searchIndex = preIndex + page.substring( preIndex ).indexOf( postString );
var evtsString = page.slice( preIndex + preString.length , searchIndex );
现在将字符串解析为json对象并打印:
var evtsVar = JSON.parse( evtsString );
console.log( evtsVar );
经过测试,有效。