我不知道是否可能。有一个网页有这么多<iframe>
标签(youtube,facebook等视频嵌入)这样的
<iframe src="https://www.facebook.com/video/embed?video_id=483633655049394"
width="680" height="450" frameborder="0"></iframe>
<iframe width="680" height="450" src="http://www.youtube.com/embed/XpEnFZGkK8A
frameborder="0" allowfullscreen=""></iframe>
我想做以下
我提供了网页的网址,并将所有<iframe> ... </iframe>
代码重新包含在内。
我怎么能在php中做到这一点。
答案 0 :(得分:2)
此处不需要xpath。您可以使用DOMDocument::getElementsByTagName('iframe');
。检查问题(thx)下方@Bamar的评论。我希望在没有xpath的情况下使用DOM更快。
但是我会保留原始的xpath答案以供参考。
原始回答
使用以下xpath查询:
//iframe
它将选择文档中的所有<iframe>
标记,无论它们在文档树中的位置如何。
示例:
$doc = new DOMDocument();
$doc->loadHTML($yourhtml);
$selector = new DOMXPath($doc);
foreach($selector->query('//iframe') as $iframe) {
echo $iframe->getAttribute('src');
}