只是想知道你们中是否有人知道如何从 php 中的 html 代码获取所有 iframe src?会对我有很大帮助!
到目前为止我已经试过了:
$dom = new DOMDocument();
$html = $data;
@$dom->loadHTML($html);
$a = $dom->getElementsByTagName('iframe');
for ($i; $i < $a->length; $i++) {
$attr = $a->item($i)->getAttribute('src');
echo $attr . "\n";
}
这是网址: http://www.youtube.com/all_comments?v=wb1u5CeMhkI
然后我想在“comments-iframe-container”div 中获取 iframe src。搜索 div,iframe 将在 div 下方 2 行。
圣诞快乐! :)
最佳答案
您尝试访问的 iframe 是通过 JavaScript 动态创建的。当您尝试使用 PHP 加载 html 时,它不存在。尝试加载页面的源代码而不是在控制台(firbug 等)中查看它以了解我的意思。
我突然想到,您必须像浏览器一样在您的服务器上执行该 youtube 页面的内容才能访问 iframe。这可能涉及使用 PHP 抓取页面,然后将源传递给将处理 HTML/JavaScript 的东西,然后将结果传递回 PHP 以获取 iframe 的 SRC。
我不知道有任何开箱即用的 PHP 解决方案。也许以下 SO 链接可以帮助您入门:
我觉得这不是一个完整的答案,但我还不能发表评论,所以提前道歉。
关于php - 如何从 PHP 中的 html 代码获取所有 iframe src,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20708589/