<?

# Функция заменятет внешние ссылки в тексте на "внутренние"
# Автор: Гринкевич Евгений Вадимович
# http://www.ewgenij.net/

function OutLink($string)
{
    
// Так и не понял, почему
    // $host = str_replace(array('.', 'www.'), array('\.', ''), getEnv('HTTP_HOST'));
    // суканеработает :\ Скорее всего для каждой замены берет заново getEnv('HTTP_HOST')

    
$host str_replace('www.'''getEnv('HTTP_HOST'));
    
$host str_replace('.''\.'$host);

    
preg_match_all('/href="([^"]*'.$host.'[^"]*)"/'$string$a);
    if (!empty(
$a[1]))
    {
        foreach (
$a[1] as $u)
        {
            
$string str_replace($u'|' $u$string);
        }
    }

    
$string preg_replace('/href="([^|])([^"]*)"/ie'"'href=\"/go.php?url=' . urlencode('\$1\$2') . '\"'"$string);

    if (!empty(
$a[1]))
    {
        foreach (
$a[1] as $u)
        {
            
$string str_replace('|' $u$u$string);
        }
    }

    return 
$string;
}


highlight_file(__FILE__);


?>