$_se_options = array(
'yandex' => array('param' => 'text', 'id' => 1),
'google' => array('param' => 'q', 'id' => 2),
'rambler' => array('param' => 'query', 'id' => 3),
'yahoo' => array('param' => 'query', 'id' => 4),
'mail.ru' => array('param' => 'q', 'id' => 4),
);
$url = parse_url($_SERVER['HTTP_REFERER']);
parse_str($url['query'], $vars);
foreach ($_se_options as $k => $v)
if (preg_match("#$k#i", $url['host']))
$cur_SE = $k;
if (isset ($cur_SE)) { // парсим поисковую фразу
$paramname = $_se_options[$cur_SE]['param'];
$s = $vars[$paramname];
if (strpos($url['query'], '%D0') !== false)
$s = iconv("UTF-8", "cp1251", $s); // в строке используется многосимвольная кодировка
} else {
$s = '';
}
// в $s - поисковая фраза