本文实例讲述了PHP自定义函数获取搜索引擎来源关键字的方法。分享给大家供大家参考,具体如下:
获取搜索引擎来源关键字的函数:
function getKeywords() { // 搜索引擎关键字映射 static $host_keyword_map = array( \'www.baidu.com\' => \'wd\', \'v.baidu.com\' => \'word\', \'image.baidu.com\' => \'word\', \'news.baidu.com\' => \'word\', \'www.so.com\' => \'q\', \'video.so.com\' => \'q\', \'image.so.com\' => \'q\', \'news.so.com\' => \'q\', \'www.sogou.com\' => \'query\', \'pic.sogou.com\' => \'query\', \'v.sogou.com\' => \'query\', ); // 检查来源是否搜索引擎 if (!isset($_SERVER[\'HTTP_REFERER\'])) { return \'\'; } $urls = parse_url($_SERVER[\'HTTP_REFERER\']); if (!array_key_exists($urls[\'host\'], $host_keyword_map)) { return \'\'; } $key = $host_keyword_map[$urls[\'host\']]; // 检查关键字参数是否存在 if (!isset($urls[\'query\'])) { return \'\'; } $params = array(); parse_str($urls[\'query\'], $params); if (!isset($params[$key])) { return \'\'; } $keywords = $params[$key]; // 检查编码 $encoding = mb_detect_encoding($keywords, \'utf-8,gbk\'); if ($encoding != \'utf-8\') { $keywords = iconv($encoding, \'utf-8\', $keywords); } return $keywords; }
函数测试:
本文地址:https://www.stayed.cn/item/305
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我