使用php顯示搜尋引擎來的關鍵詞

來源:互聯網
上載者:User

 在訪客從搜尋引擎而來的第一個頁面上顯示訪客搜尋的關鍵詞,根據這個關鍵詞做出一些提高網站互動能力的改變,比如顯示這個關鍵詞相關的其它文章

以下是相關實現代碼:代碼如下:<?php/*Plugin Name: display-search-keywordsPlugin URI: http://www.imyxiao.com/1531.htmlDescription: 當訪客通過搜尋引擎來到你的部落格,這個外掛程式可以顯示訪客搜尋的關鍵詞Version: 1.0Author:<a href="http://www.imyxiao.com/">仰肖</a>*/function unescape($str) { $ret = ''; $len = strlen($str); for ($i = 0; $i < $len; $i++) {  if ($str[$i] == '%' && $str[$i +1] == 'u') {   $val = hexdec(substr($str, $i +2, 4));   if ($val < 0x7f)    $ret .= chr($val);   else    if ($val < 0x800)     $ret .= chr(0xc0 | ($val >> 6)) . chr(0x80 | ($val & 0x3f));    else     $ret .= chr(0xe0 | ($val >> 12)) . chr(0x80 | (($val >> 6) & 0x3f)) . chr(0x80 | ($val & 0x3f));    $i += 5;  } else   if ($str[$i] == '%') {    $ret .= urldecode(substr($str, $i, 3));    $i += 2;   } else    $ret .= $str[$i]; } return $ret;}function ls_get_delim($ref) { $search_engines = array (  'google.com.hk' => 'q',  'google.com.tw' => 'q',  'go.google.com' => 'q',  'google.com' => 'q',  'blogsearch.google.com' => 'q',  'cn.bing.com' => 'q',  'one.cn.yahoo.com' => 'p',  'baidu.com' => 'wd',  'soso.com' => 'w',  'youdao.com' => 'q',  'sogou.com' => 'query' ); $delim = false; // 判斷 if (isset ($search_engines[$ref])) {  $delim = $search_engines[$ref]; } return $delim;} function ls_get_refer() { // 判斷前一頁面的 URL 地址 $queryString = $_GET['referer']; $queryString = unescape($queryString); if (!isset ($queryString) || ($queryString == ''))  return false; $referer_info = parse_url($queryString); $referer = $referer_info['host']; //去除www. if (substr($referer, 0, 4) == 'www.')  $referer = substr($referer, 4); return $referer;} function ls_getinfo($what) { $referer = ls_get_refer(); if (!$referer)  return false; $delimiter = ls_get_delim($referer); if ($delimiter) {  $terms = ls_get_terms($delimiter);  if ($what == 'isref' && $terms != '') {   return true;  }  if ($what == 'terms') {   echo $terms;  } } return false;} function yxiao_seems_utf8($str) { $length = strlen($str); for ($i = 0; $i < $length; $i++) {  $c = ord($str[$i]);  if ($c < 0x80)   $n = 0; # 0bbbbbbb  elseif (($c & 0xE0) == 0xC0) $n = 1; # 110bbbbb  elseif (($c & 0xF0) == 0xE0) $n = 2; # 1110bbbb  elseif (($c & 0xF8) == 0xF0) $n = 3; # 11110bbb  elseif (($c & 0xFC) == 0xF8) $n = 4; # 111110bb  elseif (($c & 0xFE) == 0xFC) $n = 5; # 1111110b  else   return false; # Does not match any model  for ($j = 0; $j < $n; $j++) { # n bytes matching 10bbbbbb follow ?   if ((++ $i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))    return false;  } } return true;} function ls_get_terms($d) { //取得查詢值 $queryString = $_GET['referer']; $queryString = unescape($queryString); $query_str = parse_url($queryString); parse_str($query_str[query], $query_str); $query = $query_str[$d]; $query = urldecode($query);  $query = str_replace("'", '', $query); $query = str_replace('"', '', $query); $query_array = preg_split('/[s,+.]+/', $query); $query_terms = implode(' ', $query_array); $terms = htmlspecialchars($query_terms); //gbk->utf8 if (!yxiao_seems_utf8($terms)) {  $terms = iconv("GBK", "UTF-8//IGNORE", $terms); } return $terms;}if (ls_getinfo('isref')) {?>document.write('<div id="serp"><p>')document.write('更多搜尋結果:<em><a href="http://www.jb51.net/search?q=<?php ls_getinfo(terms); ?>" ')document.write('title="查看<?php ls_getinfo(terms); ?>的搜尋結果" rel="nofollow"><?php ls_getinfo(terms); ?></a></em>')document.write('</p></div>');<?php } ?> 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.