(.*)|Uis', $parse, $out);
// убирание форматирования числа - удаление из него межразрядных запятых
$res[1]=preg_replace('|,|Uis','',$out[2]);
// обработка случая, когда результатов не было найдено
// (строка результатов тогда другого формата и не будет найдена
// при помощи preg_match выше)
if($res[1]=="") $res[1] = "0";
// составление ссылки перехода к странице поиска
$res[2] = 'Перейти к результатам поиска
Google';
// возврат результата в виде массива:
// 1й элемент - число результатов
// 2й элемент - ссылка перехода к странице поиска
return $res;
}
//**********************************************************************
function yandexSearch($query)
{
$yandexQuery = 'http://www.yandex.ru/yandsearch?text='.$query;
$parse=file_get_contents($yandexQuery);
preg_match('|Результат поиска: страниц — (.*),
сайтов|Uis', $parse, $out);
$res[1]=preg_replace('| |Uis','',$out[1]);
if($res[1]=="") $res[1] = "0";
$res[2] = 'Перейти к результатам поиска
Yandex';
return $res;
}
//**********************************************************************
function yahooSearch($query)
{
$yahooQuery = 'http://search.yahoo.com/search?p='.$query;
$parse=file_get_contents($yahooQuery);
preg_match('|of about (.*) for|Uis', $parse, $out);
$res[1]=preg_replace('|,|Uis','',$out[1]);
if($res[1]=="") $res[1] = "0";
$res[2] = 'Перейти к результатам поиска
Yahoo';
return $res;
}
//**********************************************************************
// обработка строки введенной пользователем
// удаление лишних пробелов и замена оставшихся знаками +
// для правильного формирования строки запроса поисковикам
// $queryText - строка запроса пользователя
function parseQueryString($queryText)
{
$query = preg_replace('/(\s)\s+/','\\1',$queryText);
$query = preg_replace('| |Uis','+',$query);
return $query;
}
//**********************************************************************
// используется при обновлении страницы
// создает шапку-HTML и форму ввода строки запроса
// $queryText - строка запроса пользователя
function refresh($queryText)
{
echo '
Результаты поиска
';
}
//**********************************************************************
// используется при обновлении страницы
// дописывает закрывающие теги HTML
function refresh2()
{
echo "";
}
//**********************************************************************
// метод обработки запроса пользователя
// вызывает функции поиска для каждой поисковой системы и
// выводит результат на страницу
// $queryText - строка запроса пользователя
function getSearchResult($queryText)
{
refresh($queryText);
$query = parseQueryString($queryText);
$out = googleSearch($query);
echo 'Google:
'.$out[1].' результатов.
'.$out[2].'
';
$out = yandexSearch($query);
echo 'Yandex:
'.$out[1].' результатов.
'.$out[2].'
';
$out = yahooSearch($query);
echo 'Yahoo:
'.$out[1].' результатов.
'.$out[2].'
';
refresh2();
}
// главная часть скрипта
// если значение пустое, то просто обнавляется форма запроса
// иначе вызывается метод обработки запроса пользователя
if($queryInput == "") {
refresh("");
refresh2();
}
else {
getSearchResult($queryInput);
}
?>