Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Поисковой робот


Автор: DiNaMiK 13.2.2007, 07:24
Видел на форуме пример распознания поискового робота
Код
if(false !== strpos('yandex', strtolower($_SERVER['HTTP_USER_AGENT']))) {
    //...
}


Делать такой код для каждого поисковика не разомно по моему мнению. Можно ли как то упростить задачу?

Например если хранить имена поисковиков в БД. ТО как тогда проверять?

Сделать цикл выводящий всех роботов из БД и сверять сходится ли он с данным или же есть другой способ?

Автор: Alex13 13.2.2007, 08:06
DiNaMiK, 
Код

$spiders=get_spider_array() //Получаем массив имен поисковиков
foreach($spiders as $spider){ //Бежим по массиву
 if(strpos('yandex', strtolower($_SERVER['HTTP_USER_AGENT']))===true) {
  //...
 }
}

Автор: Mal Hack 13.2.2007, 23:07
Тут надо проверить, либо делать через вектор, как показал Alex13, только через for, а еще лучше while, а еще лучше if( in_array ).
Либо регуляркой, закидлывая в условия список ботов, разделенной "|".

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)