从远程html页面获取内容

时间:2016-06-04 10:35:10

标签: php curl

我正在寻找从远程网页获取特定内容的方法

我想要的内容是javascript变量,这种:

var Example1 = 0; var Example2 = 14;

变量名称保持不变,内容仅为数字

谢谢

1 个答案:

答案 0 :(得分:0)

通过DomDocument查找html源代码中的脚本,然后通过regex查找变量声明

$DOM = new DomDocument();
$DOM->loadHTML( $output);

$res = [];
$scripts = $DOM->getElementsByTagName('script');
$lnt = $scripts->length;
for($i=0; $i < $lnt; $i++) {
    preg_match_all('/var\s+(\w+)\s*=\s*(\d+)\s*;/', $DOM->saveHtml($scripts->item($i)), $m);
    $res = array_merge($res, array_combine($m[1], $m[2]));
}
print_r($res);

demo