我需要PHP导入另一个HTML文件并从中获取特定的东西。导入页面上的某个位置将是这样的一行:
<video preload="auto" loop="loop" data-bindattr-3="3" src="https://mtc.cdn.vine.co/v/videos/03F598B7-40F8-4FD4-AB39-90AFC4FEDC4F-123-00000044D7291C03_1.0.6.mp4?versionId=sn7CV5wXJKJY_.CJcPHrsyLRDAtveQYw"></video>
我需要PHP来查找该行并将其变为变量:
https://mtc.cdn.vine.co/v/videos/03F598B7-40F8-4FD4-AB39-90AFC4FEDC4F-123-00000044D7291C03_1.0.6.mp4
我已经做了很多,我想我很接近。但是,PHP仍然无法为我提供。我认为这是一个小错误,但经过很长一段时间后我真的找不到它。
这是我的代码(到目前为止):
if ($check == "true") { //Okay, we've got a working URL here.
$file_string = file_get_contents($url); //Import le page
preg_match('<video preload="auto" loop="loop" data-bindattr-3="3" src="(.*?)"></video>si', $file_string, $keywords); //Find it...
$keywords_out = $keywords[1]; //..get it
$url = strtok($keywords_out , '?'); //Remove stuff after the '?'
}
也许你马上就会看到这里的错误。如果是的话,请帮帮我。
答案 0 :(得分:1)
DOMDocument
课程将是最佳选择
<?php
$html='<video preload="auto" loop="loop" data-bindattr-3="3" src="https://mtc.cdn.vine.co/v/videos/03F598B7-40F8-4FD4-AB39-90AFC4FEDC4F-123-00000044D7291C03_1.0.6.mp4?versionId=sn7CV5wXJKJY_.CJcPHrsyLRDAtveQYw"></video>';
$dom = new DOMDocument;
@$dom->loadHTML($html);
foreach ($dom->getElementsByTagName('video') as $tag) {
$link= $tag->getAttribute('src');
}
echo explode('?',$link)[0];
<强> OUTPUT :
强>
https://mtc.cdn.vine.co/v/videos/03F598B7-40F8-4FD4-AB39-90AFC4FEDC4F-123-00000044D7291C03_1.0.6.mp4