|
| Дата |
|
USD/RUB | 93.4409 | BTC/USD | 63508.6847 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
09.05.2011, 21:12
|
#1
|
Страдаю приступами политических высеров.
Регистрация: 13.09.2008
Сообщений: 329
Бабло: $81860
|
как отловить поисковый запрос ?
Не силен в php
помогите отловить поисковые запросы , пожалуйста
|
|
|
09.05.2011, 21:22
|
#2
|
Senior Member
Регистрация: 28.11.2009
Сообщений: 1,800
Бабло: $299365
|
Опиши подробней что ли.
|
|
|
09.05.2011, 21:23
|
#3
|
Senior Member
Регистрация: 03.09.2010
Сообщений: 827
Бабло: $99806
|
PHP код:
preg_match("/q=([^&]+)/", $_SERVER['HTTP_REFERER'], $match);
print_r($match);
как то так... для гугла пойдет, а для остальных поисковиков нужно отдельно смотреть, да и проверять нужно, указан ли реферер, а то варнинги покажет.
|
|
|
09.05.2011, 21:26
|
#4
|
Je suis moine ivre
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
|
везде как правило q=key
|
|
|
09.05.2011, 22:07
|
#5
|
Senior Member
Регистрация: 01.11.2007
Сообщений: 2,269
Бабло: $288535
|
Вот откопал:
Код:
function getKey($url) {
$sengine = array();
$sengine[] = array('name'=>'Google','url'=>'http://www.google.com','host'=>'google\.','query_field'=>'q');
$sengine[] = array('name'=>'Yahoo','url'=>'http://www.yahoo.com','host'=>'yahoo\.','query_field'=>'p');
$sengine[] = array('name'=>'Live','url'=>'http://search.live.com','host'=>'live\.','query_field'=>'q');
$sengine[] = array('name'=>'MSN','url'=>'http://search.msn.com','host'=>'msn\.','query_field'=>'q');
$sengine[] = array('name'=>'Alltheweb','url'=>'http://www.alltheweb.com','host'=>'alltheweb\.com','query_field'=>'q');
$sengine[] = array('name'=>'Ask','url'=>'http://ask.com','host'=>'ask\.','query_field'=>'q');
$sengine[] = array('name'=>'LookSmart','url'=>'http://www.looksmart.com','host'=>'search\.looksmart\.com','query_field'=>'qt');
$sengine[] = array('name'=>'Altavista','url'=>'http://www.altavista.com','host'=>'altavista\.','query_field'=>'q');
$sengine[] = array('name'=>'AOL','url'=>'http://www.aol.com','host'=>'aol\.','query_field'=>'query');
$sengine[] = array('name'=>'ICQ.com','url'=>'http://www.icq.com','host'=>'icq\.','query_field'=>'q');
$sengine[] = array('name'=>'Alexa','url'=>'http://www.alexa.com','host'=>'alexa\.','query_field'=>'q');
$sengine[] = array('name'=>'Baidu','url'=>'http://www.baidu.com','host'=>'baidu\.','query_field'=>'word');
$sengine[] = array('name'=>'Web-De','url'=>'http://www.web.de','host'=>'suche\.web\.de','query_field'=>'su');
$sengine[] = array('name'=>'Fireball','url'=>'http://www.fireball.de','host'=>'suche\.fireball\.de','query_field'=>'query');
$sengine[] = array('name'=>'Lycos','url'=>'http://www.lycos.com','host'=>'lycos\.','query_field'=>'query');
$sengine[] = array('name'=>'Yandex','url'=>'http://www.yandex.ru','host'=>'yandex\.','query_field'=>'text');
$sengine[] = array('name'=>'Rambler','url'=>'http://www.rambler.ru','host'=>'rabmler\.','query_field'=>'words');
$sengine[] = array('name'=>'Aport','url'=>'http://www.aport.ru','host'=>'aport\.','query_field'=>'r');
$sengine[] = array('name'=>'Mail.Ru','url'=>'http://www.mail.ru','host'=>'mail\.ru','query_field'=>'q');
if (!is_array($sengine))
return false;
$url_info = parse_url($url);
foreach ($sengine as $se) {
if (eregi($se['host'], $url_info['host'])) {
parse_str($url_info['query'], $query_info);
return array('sengine_name' => $se['name'],
'sengine_url' => $se['url'],
'query' => $query_info[$se['query_field']],
'url' => $url);
}
}
return false;
}
$key = getKey(urldecode($_SERVER["HTTP_REFERER"]));
|
|
|
09.05.2011, 23:16
|
#6
|
Senior Member
Регистрация: 19.09.2009
Сообщений: 4,096
Бабло: $611825
|
Цитата:
Сообщение от Drunk Monk
везде как правило q=key
|
в яху p=key
Но по моему если человек не силен в php, то пусть сначала php на начальном уровне выучит, а потом уже такие вопросы задает.
Все коды, которые выложена для ТС для него как китайская грамота
|
|
|
10.05.2011, 01:52
|
#7
|
автоматизирую интернеты
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
|
deschain, дополню:
список se из твоего поста удобно брать в пивике, он там на пару порядков больше
|
|
|
10.05.2011, 18:45
|
#8
|
Member
Регистрация: 20.09.2008
Сообщений: 50
Бабло: $12790
|
chesser, где, где брать?
|
|
|
10.05.2011, 18:47
|
#9
|
Senior Member
Регистрация: 01.11.2007
Сообщений: 2,269
Бабло: $288535
|
D.N., piwik.
chesser, ну да. Это скрипту хз сколько лет. Дополнять можно бесконечно
|
|
|
|