PHP - 从HTML页面解析iFrame

时间:2013-12-20 01:47:07

标签: php html iframe server-side

嘿伙计们,所以我有一个基本的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源中会清楚地显示该视频。为什么我的脚本没有返回正确的结果,为什么这种行为取决于视频使用的视频播放器?请有人解释一下吗?

1 个答案:

答案 0 :(得分:3)

尝试:

$dom = new DOMDocument; @$dom->loadHTML('yourURLHere');
$iframe = $dom->getElementsByTagName('iframe');
foreach($iframe as $ifr){
  $ifrA[] = $ifr->getAttribute('src');
}

现在,$ifrA数组应该包含你的iframe src。