我是PHP的新手(在CodeAcademy学习它),我想使用iframe
制作一个Web浏览器。这就是我到目前为止所做的:
<!DOCTYPE html>
<html>
<body>
<?php
$url = $_GET['url'];
print $url;
?>
<form name="input" method="get">
Url: <input type="text" name="url" action="<?php echo $url; ?>">
<input type="submit" value="Go">
</form>
<iframe src="<?php echo $url; ?>">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>
上面的代码块是.php文件。我的问题是,iframe会导致我的域的URL删除您输入的URL。更好的解释is here。
我尝试使用$partial = substr($url, x, y)
并将 iframe 引导至echo $partial
,以便原始域被删除,只有您输入的网址位于iframe网址中。那不行。我该如何解决这个问题?
答案 0 :(得分:1)
只需检查网址是否为&#34; http://&#34;然后继续
否则添加一个&#34; http://&#34;通过你的脚本
<!DOCTYPE html>
<html>
<body>
<?php
$url = $_GET['url'];
print $url;
if (strpos($url,'http') === 0) { //found at position 0
//ok
} else {
if ((strpos($url,'google') === 0) or
(strppos($url,'some.other.site1') === 0) or
(strppos($url,'some.other.site2') === 0)) // here all the knowns SSL - Sites (this can not be the ultimate solution)
{
$url = 'https://'.$url;
} else {
$url = 'http://'.$url;
}
}
print '<br/>'.$url;
?>
<form name="input" method="get">
Url: <input type="text" name="url" action="<?php echo $url; ?>">
<input type="submit" value="Go">
</form>
<iframe src="<?php echo $url; ?>">
<p>Your browser does not support iframes.</p>
</iframe>
</body>
</html>
答案 1 :(得分:1)
每当您的输入类似于&#34; google.com&#34; iFrame将在您当前的目录中查找名为&#34; google.com&#34;的文件。