|
|
|
| Подскажите пожалуйста может есть у кого функция которая на вход получает URL а на выход поисковую фразу человека.
Если есть у кого функция работающая с большинством поисковиков буду очень признателен! | |
|
|
|
|
|
|
|
для: sidPR
(16.02.2010 в 13:08)
| | В power counter'e есть код для выдёргивания запросов из некоторых поисковиков:
<?
if(!empty($reff) && $search!="none" && $search != "own_site")
{
switch($search)
{
case 'yandex':
{
preg_match("|text=([^&]+)|is", $reff."&", $out);
if(strpos($reff,"yandpage")!=null)
$quer = convert_cyr_string(urldecode($out[1]),"k","w");
else
$quer=utf8_win($out[1]);
break;
}
case 'rambler':
{
preg_match("|words=([^&]+)|is", $reff."&", $out);
$quer = $out[1];
break;
}
case 'mail':
{
preg_match("|q=([^&]+)|is", $reff."&", $out);
$quer = $out[1];
break;
}
case 'google':
{
preg_match("|[^a]q=([^&]+)|is", $reff."&", $out);
$quer = utf8_win($out[1]);
break;
}
case 'msn':
{
preg_match("|q=([^&]+)|is", $reff."&", $out);
$quer = utf8_win($out[1]);
break;
}
case 'aport':
{
preg_match("|r=([^&]+)|is", $reff."&", $out);
$quer = $out[1];
break;
}
}
|
| |
|
|
|
|
|
|
|
для: Саня
(16.02.2010 в 19:23)
| | Спасибо, а я нашел такую функцию
function detect_search_engine($url)
{
$search_engines=Array(
Array("name"=>"Mail", "pattern"=>"go.mail.ru/search_images", "param"=>"q", "charset"=>"w"),
Array("name"=>"Mail", "pattern"=>"go.mail.ru", "param"=>"q", "charset"=>"w"),
Array("name"=>"Google Images", "pattern"=>"images.google.", "param"=>"q", "charset"=>"u"),
Array("name"=>"Google", "pattern"=>"google.", "param"=>"q", "charset"=>"u"),
Array("name"=>"Google", "pattern"=>"google.", "param"=>"as_q", "charset"=>"u"),
Array("name"=>"Live Search", "pattern"=>"search.live.com", "param"=>"q", "charset"=>"u"),
Array("name"=>"Bing", "pattern"=>"bing.", "param"=>"q", "charset"=>"u"),
Array("name"=>"RapidShare Search Engine", "pattern"=>"rapidshare-search-engine", "param"=>"s", "charset"=>"u"),
Array("name"=>"Rambler", "pattern"=>"rambler.ru", "param"=>"query", "charset"=>"u"),
Array("name"=>"Rambler", "pattern"=>"rambler.ru", "param"=>"words", "charset"=>"u"),
Array("name"=>"Yahoo!", "pattern"=>"search.yahoo.com", "param"=>"p", "charset"=>"u"),
Array("name"=>"Nigma", "pattern"=>"nigma.ru/index.php", "param"=>"s", "charset"=>"u"),
Array("name"=>"Nigma", "pattern"=>"nigma.ru/index.php", "param"=>"q", "charset"=>"u"),
Array("name"=>"MSN", "pattern"=>"search.msn.com/results", "param"=>"q", "charset"=>"u"),
Array("name"=>"Ask", "pattern"=>"ask.com/web", "param"=>"q", "charset"=>"u"),
Array("name"=>"QIP", "pattern"=>"search.qip.ru/search", "param"=>"query", "charset"=>"u"),
Array("name"=>"RapidAll", "pattern"=>"rapidall.com/search.php", "param"=>"query", "charset"=>"u"),
Array("name"=>"Yandex", "pattern"=>"images.yandex.ru/", "param"=>"text", "charset"=>"u"),
Array("name"=>"Yandex", "pattern"=>"m.yandex.ru/search", "param"=>"query", "charset"=>"u"),
Array("name"=>"Yandex", "pattern"=>"hghltd.yandex.net", "param"=>"text", "charset"=>"u"),
Array("name"=>"Yandex", "pattern"=>"yandex.ru", "param"=>"text", "charset"=>"u")
);
$tmp = parse_url($url);
$host = $tmp['host'];
$query = $tmp['query'];
parse_str($query, $query_arr);
$res['engine'] = '-';
$res['request'] = '-';
foreach ($search_engines as $engine)
{
if (strpos($host,$engine['pattern']) !== false and isset($query_arr[$engine['param']]))
{
if($engine['name']!= "-")
$res['engine'] = $engine['name'];
else
$res['engine'] = $host;
$res['request'] = $query_arr[$engine['param']];
break;
}
}
if($res['request'] != "-")
$result = iconv("UTF-8", "CP1251", $res['request'])." <b>[ ".$res['engine']." ]</b>";
else
$result = $url;
//$res['request'] = iconv("cp1251","utf-8",$res['request']);
return $result;
}
|
| |
|
|
|
|