Я очень новичок в PHP (изучая его в CodeAcademy), и я хотел создать веб-браузер, используя iframe
. Это то, что у меня есть до сих пор:
<!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-адрес, который вы вводите. Немного лучшего объяснения здесь .
Я попытался использовать $partial = substr($url, x, y)
и заставить iframe привести к echo $partial
чтобы исходный домен был вырезан, и только URL, который вы указали, находится в URL-адресе iframe. Это не сработало. Как я могу это исправить?
просто проверьте, имеет ли URL-адрес «http: //»
иначе добавьте «http: //» по вашему скрипту
<!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>
всякий раз, когда ваш ввод является чем-то вроде «google.com», iFrame будет искать в вашем текущем каталоге файл с именем «google.com»,