Нужен скрипт редиректа внешних ссылок

Discussion in 'PHP' started by OnlyOn, 8 Mar 2011.

  1. OnlyOn

    OnlyOn Banned

    Joined:
    18 Oct 2010
    Messages:
    252
    Likes Received:
    89
    Reputations:
    36
    Ищу функцию что выполняла бы подобную роль:
    replurl($text);
    На выходе давала тот-же текст, только все внешние ссылки заменялись на mojsite.ru/redirect.php?url=site.ru

    Пробовал написать сам, только в регулярке так и не разобрался. Спасибо заранее =) В инете искал - не было подходящего.
     
  2. v00d

    v00d Member

    Joined:
    11 Oct 2010
    Messages:
    34
    Likes Received:
    10
    Reputations:
    7
    PHP:
    $text '<a href=\'http://link.com\'>Link</a> <a href="http://anotherlink.com">Another Link</a>';
    $r preg_replace_callback('/\<\s?a\shref[\s="\']+([^\'"]+)["\']\>[^\<]+[^\>]+\>/''rep'$text);

    function 
    rep($m){
        list(
    $l$url) = $m;
        if(
    $url == 'http://'.$_SERVER['HTTP_HOST'])
            return 
    $l;
        return 
    str_replace($url"/redirect.php?url=$url"$l);    
    }
    echo 
    $r;