加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP判断搜索引擎机器人Robot_PHP教程

发布时间:2022-10-11 19:00:26 所属栏目:PHP教程 来源:未知
导读: 推荐:PHP的print函数
PHP的print函数,姑且说是函数吧
有朋友问到如何使用PHP去判断是否是搜索引擎,其实PHP有个很简单的方式去实现,通过_SERVER这个预定义变量中的_SERVER['HTTP_USER_A

推荐:PHP的print函数

PHP的print函数,姑且说是函数吧

有朋友问到如何使用PHP去判断是否是搜索引擎,其实PHP有个很简单的方式去实现,通过_SERVER这个预定义变量中的_SERVER['HTTP_USER_AGENT']可以取得访问者的属性,具体可以看下Diiscuz!是如何判断搜索引擎的,函数代码如下:

function getrobot() {

if(!defined('IS_ROBOT')) {

kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';

kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';

if(preg_match("/(kw_browsers)/", _SERVER['HTTP_USER_AGENT'])) {

define('IS_ROBOT', FALSE);

} elseif(preg_match("/(kw_spiders)/", _SERVER['HTTP_USER_AGENT'])) {

define('IS_ROBOT', TRUE);

} else {

define('IS_ROBOT', FALSE);

}

}

return IS_ROBOT;

}

根据上面还可以精简如下:

if(preg_match("/(Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", _SERVER['HTTP_USER_AGENT'])) {

echo 'robot';

}

如果你需要返回详细的搜索引擎名称,而不是是否是搜索引擎机器人的话php搜索,请看下面的代码:

function get_naps_bot() {

useragent = strtolower(_SERVER['HTTP_USER_AGENT']);

if (strpos(useragent, 'googlebot') !== false){

return 'Googlebot';

}

if (strpos(useragent, 'msnbot') !== false){

return 'MSNbot';

}

if (strpos(useragent, 'slurp') !== false){

return 'Yahoobot';

}

if (strpos(useragent, 'baiduspider') !== false){

return 'Baiduspider';

}

if (strpos(useragent, 'sohu-search') !== false){

return 'Sohubot';

}

if (strpos(useragent, 'lycos') !== false){

return 'Lycos';

}

if (strpos(useragent, 'robozilla') !== false){

return 'Robozilla';

}

return false;

}

这段代码返回了详细的搜索引擎机器人的名称,呵呵大家看那种好用就用哪种吧!

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!