嘿伙计们,所以我有一个基本的PHP应用程序,从其中一个免费电视流媒体网站加载一个带有视频的页面。您可以设置要查看的剧集,季节和节目,服务器应用程序会解析包含该视频的iFrame的HTML标记。该应用程序通过使用PHP preg_match_all()
方法解析HTML页面来获取iFrame
HTML标记的所有实例。我使用以下字符串作为模式"/iframe .*\>/"
。这适用于网站上大约一半的视频播放器,但出于某种原因,所有其他视频播放器都干了。
例如,可以轻松解析托管在名为novamov
的视频网站上的http://www.free-tv-video-online.me/player/novamov.php?id=huv5cpp5k8cia视频。但是,gorillavid
功能无法找到preg_match_all()
上托管的http://www.free-tv-video-online.me/player/gorillavid.php?id=8rerq4qpgsuw上显示的视频,尽管在使用Chrome检查元素时,HTML源中会清楚地显示该视频。为什么我的脚本没有返回正确的结果,为什么这种行为取决于视频使用的视频播放器?请有人解释一下吗?
答案 0 :(得分:3)
尝试:
$dom = new DOMDocument; @$dom->loadHTML('yourURLHere');
$iframe = $dom->getElementsByTagName('iframe');
foreach($iframe as $ifr){
$ifrA[] = $ifr->getAttribute('src');
}
现在,$ifrA
数组应该包含你的iframe src。