我有一个PHP代码,用于在变量中存储网站的html源代码,我想从该源代码中获取两个链接。 第一个链接位于元标记密钥内容中:
jw.load([{ file: 'http://vrbx105.xxx.xx/U7yvQnLiA_m5mhE9MUHf3w/1477628604/vl107aeb2d7db53f91fc6ad2e76fe11e49.mp4', provider: 'http' }]);
第二次
http://img.xxx.xx/vid/xxx/b7950d611f934f0eef95c1cd010348e3.jpg
http://vrbx105.xxx.xx/U7yvQnLiA_m5mhE9MUHf3w/1477628604/vl107aeb2d7db53f91fc6ad2e76fe11e49.mp4
我只需要获得这两个链接,每次重新加载页面时都会更改:
{{1}}
答案 0 :(得分:0)
如果你坚持使用正则表达式,那么这是第一个链接:https://regex101.com/r/CHpfDY/1
答案 1 :(得分:0)
除非你有PHP JavaScript parser方便,否则你至少可以摆脱HTML搜索的正则表达式。像这样的东西应该有用,虽然没有URL就很难测试...
<?php
$dom=new DomDocument();
$dom->loadHTMLFile("http://example.com/example.html");
$xpath = new DomXpath($dom);
$metanode = $xpath->query("//meta[@property='og:image']/@content");
if ($metanode->length) {
$url1 = $metanode[0]->value;
}
$scriptnode = $xpath->query("//script");
foreach ($scriptnode as $script) {
$array = explode("\n", $script->nodeValue);
foreach ($array as $line) {
if (preg_match("/jw.load... file: '(.*?)'/", $line, $matches)) {
$url2 = $matches[1];
break(2);
}
}
}
echo $url1;
echo $url2;