Извлекаем ключевое слово из HTTP_REFERER

Пример использования:

< ?
    $keyword = extractKeyword($_SERVER['HTTP_REFERER']);
    if (stripos($keyword, 'get wordpress')!==false && stripos($keyword, 'php')===false) {
        echo('Download here');
    }
?>

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;
}

(с) Владимир