Замена только внешних ссылок (PHP)

avatar_addon_8440d_180x180Пример скриптов для автоматической изменения ссылок, очень полезно для SEO. Рекомендовано к использования.

Сама функция (её использовать для обработки текста на сайте):

function deletelinks($mytext) {
return preg_replace(‘~(<a(?>.*?href))=([«\’])([a-z0-9]++://(?![a-z0-9\.]*?laestate\.ru).*?)\2~eSi’, ‘»\1=\»/r.php?url=».base64_encode(«$3″).»\» target=\»_blank\» class=\»outurl\»» ;’, $mytext);
}

И скрипт редиректа r.php:

if($_GET[‘url’])
{
$url = base64_decode($_GET[‘url’]);
if (!preg_match(‘#(https?|ftp)://\S+[^\s.,>)\];\’\»!?]#i’,$url))
{
exit («<p>Неверный формат запроса! Проверьте URL!</p>»);
}
header(«Location:$url»);
exit();
}

Ну и не забудьте в robots.txt прописать:

Disallow: /r.php