php – 如何从远程页面获取iframe内容?
发布时间:2020-12-13 17:24:12 所属栏目:PHP教程 来源:网络整理
导读:我认为 PHP是无用的,因为在执行php之后插入了iframe,或者我错了? 因此,我所知道的唯一解决方案是使用Javascript / jQuery. 例如.如果JS与iframe在同一页面上,这将有效: htmlheadtitle/titlescript type="text/javascript" src="http://ajax.googleapis.com
我认为
PHP是无用的,因为在执行php之后插入了iframe,或者我错了?
因此,我所知道的唯一解决方案是使用Javascript / jQuery. 例如.如果JS与iframe在同一页面上,这将有效: <html> <head> <title></title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> <script type="text/javascript"> $(function() { var myContent = $("#iFrame").contents().find("#myContent") }); </script> </head> <body> <iframe src="mifile.html" id="iFrame" style="width:200px;height:70px;border:dotted 1px red" frameborder="0"> <div id="myContent"> iframe content blablabla </div> </iframe> </body> </html> 但是我使用Simple HTML DOM库来抓取远程网页,如: $url = 'http://page-with-some-iframe.com/'; $html = file_get_html( $url ); // Find iframes and put them in an array $iframes_arr = array(); foreach($html->find('iframe') as $element) { $iframes_arr[] = $element->outertext; } var_dump($iframes_arr); die(); 但很明显,没有返回任何内容;(因为在运行php之后会显示iframe;( 所以,我在想我可能需要注入这段代码: <script type="text/javascript"> $(function() { var myContent = $("#iFrame").contents().find("#myContent") }); </script> 在我抓取的页面的标题中存储在$html中. 任何想法如何获得这样的iframe内容,或者这种过于复杂的方法和一些更简单的解决方案确实存在? 解决方法
由于原始策略相同,您将无法使用javascript访问iframe内的远程页面文档.
如果您知道页面的URL,则可以使用PHP CURL来检索它 <?php // Initialise a cURL object $ch = curl_init(); // Set url and other options curl_setopt($ch,CURLOPT_URL,"http://page-with-some-iframe.com"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); // Get the page contents $output = curl_exec($ch); // close curl resource to free up system resources curl_close($ch); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |