Переходы по поисковым фразам

TIP

Новичок
Переходы по поисковым фразам

Помогите мне произвести учёт статистики по поисковым фразам, мне дали такой код
Вот например для рамблера абракадабра после words должна расшифровываться вот таким кодом :
eregi("words=([^&]*)", $r."&", $query);
где $r= $_SERVER['HTTP_REFERER'];

но вот какую запись получаю в базу в строку перехода по поисковой фразе:

%E3%F0%E0%F4%E8%EA+%ED%E0+php+%F1+%EF%EE%EC%EE%F9%FC%FE+%E1%E8%E1%EB%E8%EE%F2%E5%EA%E8+gd

Как это перевести на русский язык???
З.Ы. Если кто-то знает где можно взять скрипт который учитывает переходы по поисковым фразам дайте мне линку.
 

Diezel

Новичок
Вот функция:
PHP:
function utf8_win($s)
{
    $s=str_replace("\xD0\xB0","а",$s);  $s=str_replace("\xD0\x90","А",$s);
    $s=str_replace("\xD0\xB1","б",$s);  $s=str_replace("\xD0\x91","Б",$s);
    $s=str_replace("\xD0\xB2","в",$s);  $s=str_replace("\xD0\x92","В",$s);
    $s=str_replace("\xD0\xB3","г",$s);  $s=str_replace("\xD0\x93","Г",$s);
    $s=str_replace("\xD0\xB4","д",$s);  $s=str_replace("\xD0\x94","Д",$s);
    $s=str_replace("\xD0\xB5","е",$s);  $s=str_replace("\xD0\x95","Е",$s);
    $s=str_replace("\xD1\x91","ё",$s);  $s=str_replace("\xD0\x81","Ё",$s);
    $s=str_replace("\xD0\xB6","ж",$s);  $s=str_replace("\xD0\x96","Ж",$s);
    $s=str_replace("\xD0\xB7","з",$s);  $s=str_replace("\xD0\x97","З",$s);
    $s=str_replace("\xD0\xB8","и",$s);  $s=str_replace("\xD0\x98","И",$s);
    $s=str_replace("\xD0\xB9","й",$s);  $s=str_replace("\xD0\x99","Й",$s);
    $s=str_replace("\xD0\xBA","к",$s);  $s=str_replace("\xD0\x9A","К",$s);
    $s=str_replace("\xD0\xBB","л",$s);  $s=str_replace("\xD0\x9B","Л",$s);
    $s=str_replace("\xD0\xBC","м",$s);  $s=str_replace("\xD0\x9C","М",$s);
    $s=str_replace("\xD0\xBD","н",$s);  $s=str_replace("\xD0\x9D","Н",$s);
    $s=str_replace("\xD0\xBE","о",$s);  $s=str_replace("\xD0\x9E","О",$s);
    $s=str_replace("\xD0\xBF","п",$s);  $s=str_replace("\xD0\x9F","П",$s);
    $s=str_replace("\xD1\x80","р",$s);  $s=str_replace("\xD0\xA0","Р",$s);
    $s=str_replace("\xD1\x81","с",$s);  $s=str_replace("\xD0\xA1","С",$s);
    $s=str_replace("\xD1\x82","т",$s);  $s=str_replace("\xD0\xA2","Т",$s);
    $s=str_replace("\xD1\x83","у",$s);  $s=str_replace("\xD0\xA3","У",$s);
    $s=str_replace("\xD1\x84","ф",$s);  $s=str_replace("\xD0\xA4","Ф",$s);
    $s=str_replace("\xD1\x85","х",$s);  $s=str_replace("\xD0\xA5","Х",$s);
    $s=str_replace("\xD1\x86","ц",$s);  $s=str_replace("\xD0\xA6","Ц",$s);
    $s=str_replace("\xD1\x87","ч",$s);  $s=str_replace("\xD0\xA7","Ч",$s);
    $s=str_replace("\xD1\x88","ш",$s);  $s=str_replace("\xD0\xA8","Ш",$s);
    $s=str_replace("\xD1\x89","щ",$s);  $s=str_replace("\xD0\xA9","Щ",$s);
    $s=str_replace("\xD1\x8A","ъ",$s);  $s=str_replace("\xD0\xAA","Ъ",$s);
    $s=str_replace("\xD1\x8B","ы",$s);  $s=str_replace("\xD0\xAB","Ы",$s);
    $s=str_replace("\xD1\x8C","ь",$s);  $s=str_replace("\xD0\xAC","Ь",$s);
    $s=str_replace("\xD1\x8D","э",$s);  $s=str_replace("\xD0\xAD","Э",$s);
    $s=str_replace("\xD1\x8E","ю",$s);  $s=str_replace("\xD0\xAE","Ю",$s);
    $s=str_replace("\xD1\x8F","я",$s);  $s=str_replace("\xD0\xAF","Я",$s);
    return $s;
}
 

Фанат

oncle terrible
Команда форума
Diezel
ты слышал когда-нибудь о такой вещи, как цикл?
 

WP

^_^
Вот кусок кода который отвечает за парсинг поискового текста. Может поможет.
PHP:
// ....
function register_referer()
 {
  // yandex, google, msn, mail, aport, rambler, yahoo, km, altavista
  if (!is_empty($ref = gpcvar_str($_SERVER['HTTP_REFERER'])))
  {
   $uri = parse_url($ref);
   $host = isset($uri['host'])?$uri['host']:'';
   parse_str($a = gpcvar_str($uri['query']),$query);
   if ($host == 'www.yandex.ru') {$search_query = gpcvar_str($query['text']);}
   elseif (preg_match('~^www\.google\.~',$host) or preg_match('~search\..*?\.msn.com~',$host) or $host == 'www.altavista.com') {$search_query = utf8_win1251(gpcvar_str($query['q']));}
   elseif ($host == 'sm.aport.ru') {$search_query = gpcvar_str($query['r']);}
   elseif ($host == 'go.mail.ru') {$search_query = gpcvar_str($query['q']);}
   elseif ($host == 'www.rambler.ru') {$search_query = gpcvar_str($query['words']);}
   elseif ($host == 'go.km.ru') {$search_query = gpcvar_str($query['sq']);}
   elseif ($host == 'search.yahoo.com') {$search_query = utf8_win1251(gpcvar_str($query['p']));}
   else {$search_query = '';}
   $this->sql->insert(SQL_TBLPREFIX.'webstat_referers',array(
    'url'			=> array($ref,FIELDTYPE_CHAR,256),
    'host'			=> array($host,FIELDTYPE_CHAR,50),
    'search_query'	=> array($search_query,FIELDTYPE_CHAR,50)
   ));
  }
 }
// ...
 

TIP

Новичок
WP -- Классный код, где такой взял?

Всем спасибо за помощь...

-~{}~ 04.08.06 15:41:

WP твой код неработает, вот эту функцию надо gpcvar_str();
 
Сверху