Привет У меня есть следующая страница, которая устанавливает cookie с текущим URL-адресом, а также простую внешнюю ссылку.Справка по внешней ссылке PHP
<?php
function pageURL()
{
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on")
{
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
$CurrentPage = pageURL();
setcookie('linkback', $CurrentPage);
?>
<p><a href="http://www.google.com/">External Link</a></p>
То, что я хочу сделать, это с помощью PHP добавить префикс для всех внешних ссылок, так что они имеют следующую структуру:
localhost/outgoing?url=http://www.google.com/
Это загружает исходящую страницу как так:
<?php
if(!isset($_GET['url']))
{
header('HTTP/1.0 404 Not Found');
}
?>
<h1>Warning! Now leaving website</h1>
<ul>
<li><a title="Return to Website" href="<?php if(isset($_COOKIE['linkback'])) { echo $_COOKIE['linkback']; } else { echo 'http://localhost:8888/creathive/'; } ?>">Return to Website</a></li>
<li><a title="Continue to <?php echo $_GET['url']; ?>" href="<?php echo $_GET['url']; ?>">Continue to <?php echo $_GET['url']; ?></a></li>
</ul>
Идея состоит в том, что с использованием файла cookie, установленного на предыдущей странице, у меня может быть простая кнопка «назад», а также захватить URL-адрес запроса и разрешить пользователю продолжать работу после того, как его предупредили, что они покидают e сайт.
Проблемы я являюсь:
1.) Приставка внешних URLS так, что они идут к исходящей странице
2.) IsSet на верхней часть уходящей страницы предполагается бросать 404, если пользователь посещает исходящую страницу без строки запроса URL, но не
3.) необходимо убедиться, что URLS действительны так, например, предотвратить это за происходящее: localhost/outgoing?url=moo
Мне нравится идея OB_Start, можете ли вы показать мне, как использовать это, чтобы изменить все внешние ссылки? – Cameron 2010-11-23 13:18:28
Регулярное выражение не является инструментом для использования DOM-манипуляций, в данном случае. – 2010-11-23 13:27:50