Ник: Domby | Дата: 26.02.2012, 13:30 | Сообщение #1
В сердце лишь Кубань
|
Статья копированна, ссылка ниже...
На некоторых форумах, если перейти на них с поисковика, подсвечиваются ключевые слова, которые были заданы в поиске. Это помогает быстрее найти нужную информацию. Теоретически можно пойти дальше и немного менять страницу в завимости от категории поискового запроса посетителя.
Я написал небольшую функцию, которая определяет поисковый запрос по URL. echo Code <?php extractKeyword('http://www.yandex.ru/yandsearch?text=php+%D0%B2+southpark&lr=187'); ?>
выведет "php в southpark".
Пример использования: Code <?php $keyword = extractKeyword($_SERVER['HTTP_REFERER']); if (stripos($keyword, 'southpark')!==false && stripos($keyword, 'php')===false) { echo('<div class="notice">Это сайт о PHP, а не о <a href="http://www.southpark.org.ru/">SouthPark</a></div>'); } ?>
Вот сама функция
Code <?php /** * Extract keyword from search URL * * @param string $url ex: http://google.com/search?q=%D1%82%D0%B5%D1%81%D1%82&btnG=Search * @return string Keyword or false */ function extractKeyword($url) { $searchEngines = array( 'google.' => 'q', 'yahoo.' => 'p', 'live.' => 'q', 'msn.' => 'q', 'aol.' => 'query', 'aol.' => 'encquery', 'lycos.' => 'query', 'ask.' => 'q', 'altavista.' => 'q', 'netscape.' => 'query', 'cnn.' => 'query', 'looksmart.' => 'qt', 'about.' => 'terms', 'mamma.' => 'query', 'alltheweb.' => 'q', 'gigablast.' => 'q', 'voila.' => 'rdata', 'virgilio.' => 'qs', 'baidu.' => 'wd', 'alice.' => 'qs', 'yandex.' => 'text', 'najdi.' => 'q', 'aol.' => 'q', 'club-internet.' => 'q', 'mama.' => 'query', 'seznam.' => 'q', 'search.' => 'q', 'szukaj.' => 'szukaj', 'szukaj.' => 'qt', 'netsprint.' => 'q', 'szukacz.' => 'q', 'yam.' => 'k', 'pchome.' => 'q', 'mail.ru' => 'q', 'rambler.ru' => 'words', 'meta.ua' => 'q', 'bigmir.net' => 'q', 'aport.ru' => 'r', 'a-counter' => 'sub_data', 'i.ua' => 'q' ); $host = parse_url($url, PHP_URL_HOST); $query = parse_url($url, PHP_URL_QUERY); $queryItems = array(); parse_str($query, $queryItems); foreach ($searchEngines as $needle=>$param) { if (strpos($host, $needle)!==false && !empty($queryItems[$param])) { return urldecode($queryItems[$param]); } } return false; } ?>
Массив $searchEngines был почти полностью одолжен из скрипта Google Analytics urchin.js. Поэтому поддерживаются все поисковики, которые сейчас определяет Google Analytics плюс добавлены несколько русских и украинских поисковиков.
Можно легко добавить свои любимые поисковики. Если будете добавлять, отпишитесь в комментариях, может быть, они пригодятся не только вам.
Источник : http://php.southpark.com.ua/2008/extract-keyword/
Мой прошлый ник - DuGGes Вначале прочти правильно, а потом уже возмущайся © Domby or DuGGes
| |