[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выдернуть из поисковиков строку запроса
Sylex
У меня сайт ведет лог посещаемости. По

$_SERVER['HTTP_REFERER']

получаю откуда пришел пользователь.

Пример строк:

http://www.google.ru/search?hl=ru&q=%D0%BE%D0%BC%D1%81%D0%BA+%D1%84%D0%BE%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%B8&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=

http://www.yandex.ru/yandsearch?text=%F4%E...%E0&rpt=rad


http://www.rambler.ru/srch?set=www&wor...%E0%E9%F2%E8%21

Результат должен быть:
Яндекс - омск
Гугл - омск фотографии
Рамблер - карта омска


Помогите, пожалуйста, написать функцию, которая выводила бы строку в таком формате.

Код
function query_to_normal ( $query ) {
  ...
  return $string;
}




Спустя 1 час, 33 минуты, 40 секунд (14.12.2007 - 11:20) vasa_c написал(а):

Спустя 9 часов, 50 минут, 37 секунд (14.12.2007 - 21:10) Sylex написал(а):
vasa_c, спасиб!

Выкладываю, что получилось, может кому поможет, конечно, требует еще доработок:

Код
function query_to_normal ( $query ) {
    $q = parse_url( $query );
    $host = substr( $q['host'], 0, 10);
    parse_str( $q['query'], $qt );
    switch ( $host ) {
        case "www.yandex" :
            $res = "Yandex";
            $qw = $qt['text'];
        break;
        case "www.google" :
            $res = "Google";
            $qw = mb_convert_encoding( $qt['q'], "CP1251", "UTF-8" );
        break;
        case "www.ramble" :
            $res = "Rambler";
            $qw = $qt['words'];
        break;        
        default : $res = "Unknown"; $qw = "";
    }
  $res .= " - " . $qw;
  return $res;
}


_____________
Я думал я буду сеять добро, но у меня не получилось. Во-первых, мне помешали, во-вторых я сам отрекся от этой идеи.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.