FC2ブログ

<?php
// ホスト名
$referer = $_SERVER['HTTP_REFERER'];
preg_match('@^(?:http://)?([^/]+)@i', $referer, $match_url);
preg_match('/(google|yahoo|bing)/', $match_url[1], $Get_Host_Name);
$host_name = $Get_Host_Name[0];
// クエリ文字列を処理
parse_str($referer,$Get_Keyword);

switch($host_name){
case "google":
$keyword = mb_convert_encoding(urldecode($Get_Keyword['q']), "EUC-JP", "UTF-8");
cache_keyword($host_name, $keyword);
break;
case "yahoo":
$keyword = mb_convert_encoding(urldecode($Get_Keyword['p']), "EUC-JP", "UTF-8");
cache_keyword($host_name, $keyword);
break;
case "bing":
$keyword = mb_convert_encoding(urldecode($Get_Keyword['q']), "EUC-JP", "UTF-8");
cache_keyword($host_name, $keyword);
break;
default:
}

// $id 保存ファイル名 $keyword 検索キーワード
function cache_keyword($id, $keyword) {
require_once 'Cache/Lite.php';

$cache_dir = 'tmp/';
$cache_time = null;
$options = array (
'cacheDir' => $cache_dir,
'lifeTime' => $cache_time,
'pearErrorMode' => CACHE_LITE_ERROR_DIE,
'automaticSerialization' => 'true'
);
$Cache_Lite = new Cache_Lite($options);

if($Cache_Lite->get($id)){
// キーワードの取得
$kw = $Cache_Lite->get($id.'keyword');
// キーワードの追加
array_push($kw, $keyword);
// 保存
$Cache_Lite->save($kw, $id.'keyword');
}else {
$kw = array($keyword);
$Cache_Lite->save('true', $id);
$Cache_Lite->save($kw, $id.'keyword');
}
}
?>

一言
検索キーワードを正規表現で拾おうとしたけど、上手く出来なかったので関数を使用したよ
sqlを勉強してちゃんとしたDBを作らないとだめだね
正規表現の勉強もしましょ
オンライン コンパイラ/インタプリタ
テクニカル分析
プロフィール

Author:雨宮
Firefoxを使用しているので気づかなかったけど、IE6でソースコードを上手くコピーできない

5/3
携帯用ならIE6でもソースコードをコピーできる
携帯用

検索フォーム


あわせて読みたいブログパーツ
一寸先は闇 RSS