将iframe位置设置为$ _GET元素中的位置

时间:2014-07-03 05:30:58

标签: php html .htaccess iframe

如何正确设置iframe src作为$ _GET中的位置。

目前我正在尝试这个:

的.htaccess

RewriteRule ^stream/(.*)$ index.php?p=stream&link=$1

stream.php / http://bbc.co.uk

<?php
echo '    
<div class="container" style="height:1000px;">
<iframe src="'.$_GET['link'].'" frameborder="0" width="100%" height="100%"></iframe>
</div>
 ';

?>

这会将iframe设置为127.0.0.1/stream/ {{}}},当它应该转到bbc.co.uk

4 个答案:

答案 0 :(得分:1)

正如我在评论中指出的那样,您需要重写php文件以删除.php,以便您发布的规则匹配,例如:

RewriteRule (\w+).php $1
RewriteRule ^stream/(.*)$ index.php?p=stream&link=$1

这意味着您的链接将被重写为:

http://example.com/stream.php/http://bbc.co.uk
http://example.com/stream/http://bbc.co.uk
http://example.com/index.php?p=stream&link=http://bbc.co.uk

然后你的php会输出:

<div class="container" style="height:1000px;">
<iframe src="http://bbc.co.uk" frameborder="0" width="100%" height="100%"></iframe>
</div>

按预期工作。

答案 1 :(得分:0)

网址本身不正确即。它应该是

形式
stream.php?link=http://bbc.co.uk

然后你会得到它:

 $_GET['link']

其他方式是使用相应的url存储上述get变量的映射:

即。

var urlsMapping = {"bbc":"http://bbc.co.uk","toi":"http://timesofindia.indiatimes.com"}

然后将您的网址设为:

stream.php?链接= BBC

将iframe src设置为

urlsMapping[<?=$_GET['link']?>]

答案 2 :(得分:0)

只需尝试这个

RewriteRule ^stream/(.+)$ index.php?p=stream&link=$1  [L,QSA]

我希望这会对你有所帮助。

答案 3 :(得分:0)

我使用preg_replace

修复了这个问题

可能不是最佳选择,但确实有效。

<?php
$link = preg_replace('~http:/~si', '', $_GET['link']);
echo '    
<div class="container" style="height:1000px;">
<iframe src="http://'.$link.'" frameborder="0" width="100%" height="100%"></iframe>
</div>
 ';
?>