jingshen 发表于 2017-4-11 09:35:17

php采集网站时,获取Javascript里某个变量的值

转自:http://www.baiyuxiong.com/?p=423
下面的代码可以在采集其它网站的数据时,取得JS里某个变量的值。针对下两种JS的写法,利用两个不同的正则先取到JS部分的代码,然后再在代码里取需要的变量。

<script>function test(){}</script>
<script type="text/javascript">function test(){}</script>


php代码:

<?php
$str = '<script>function test(){}</script><script type="text/javascript">function aa(){ '.
'var enDtime=xxx;}</script><div><div> <div class="foo bar">ok</div></div></div>';
$patten="'var endtime=(.*?);'is";
echo getVarInjs($str,$patten);

function getVarInjs($str,$patten,$withType = true)
{
$patten_js= $withType?"'<\s*script[^>]*[^/]>(.*?)<\s*/\s*script\s*>'is":"'<\s*script\s*>(.*?)<\s*/\s*script\s*>'is";
preg_match_all($patten_js, $str, $matches);
foreach($matches as $m)
{
//过滤取值
preg_match($patten,$m,$result);
if(!empty($result))
return $result;
}
return false;
}


显示结果:
xxx
页: [1]
查看完整版本: php采集网站时,获取Javascript里某个变量的值