php - 如何从 PHP 中的 html 代码获取所有 iframe src

标签 php parsing iframe split src

只是想知道你们中是否有人知道如何从 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/

相关文章:

php - 你能看到逻辑错误吗

php - 使用 input[type ="file"] 提示用户保存文件

c# - 解析器如何处理泛型类型参数?

python - 将 LexToken 转换为列表 Python

jquery - 使用 iframe 替代 html5 中的框架

来自 2-Plan 开源安装的 PHP 警告

php - 从 Laravel 数据库查询结果中访问明显存在的整数类型数据时出现错误 "Cannot use object of type stdClass as array"

java - 如何从 HTML 中检索数据?

javascript - AngularJS $sceDelegate 正则表达式 : Trouble whitelisting similar domains?

SharePoint 2010 内容编辑器 Web 部件不支持 iframe