30 Jul
Php for get keywords from search engine referrer
I search, found and modified this php script for my purpose. I want to collect keyword from search engine that refer visitor to my website/ post. May be this script not really useful for you, or may be this scrip has some problems or bug, I hope you may help me to correct it, so this simpe php script can be very useful for others who need this script.
Code :
<?
$referrer = $_SERVER['HTTP_REFERER'];
$referrer ='http://www.google.co.id/search?hl=id&client=firefox-a&hs=IKn&rls=org.mozilla%3Aen-US%3Aofficial&channel=s&q=pemahaman+pelajaran+ips+tentang+endogen+dan+eksogen&aq=f&aqi=&aql=&oq=&gs_rfai=';
$referrer_query = parse_url($referrer);
$referrer_host = $referrer_query['host'];
$referrer_query = $referrer_query['query'];
$q = "[q|p|qkw|key|query|searchfor|Keywords|searchterm]"; //Yahoo uses both query strings, I am using switch() for each search engine
preg_match('/'.$q.'=(.*?)&/',$referrer,$keyword);
$keyword = urldecode($keyword[1]);
$potongnya = array('&q=','&p=','key=','query=','searchfor=','Keywords=','searchterm=');
$referrer_query = str_replace($potongnya, "&|pencarian=", $referrer_query);
$arr = explode("&", "$referrer_query");
for($k = 0, $l = count($arr); $k < $l; ++$k)
{
$ygdicari = "$arr[$k]";
$findmeyach = "|pencarian=";
$posnyaaa = strpos($ygdicari, $findmeyach);
if ($posnyaaa === false)
{}
else
{
$keyword = str_replace('|pencarian=', "", $ygdicari);
$potongkeynya = array('+','%20');
$keyword = str_replace($potongkeynya, " ", $keyword);
}
}
if ($keyword=="")
{
$potongnya = array('q=','p=');
$referrer_query = str_replace($potongnya, "&|pencarian=", $referrer_query);
$arr = explode("&", "$referrer_query");
for($k = 0, $l = count($arr); $k < $l; ++$k)
{
$ygdicari = "$arr[$k]";
$findmeyach = "|pencarian=";
$posnyaaa = strpos($ygdicari, $findmeyach);
if ($posnyaaa === false)
{}
else
{
$keyword = str_replace('|pencarian=', "", $ygdicari);
$potongkeynya = array('+','%20');
$keyword = str_replace($potongkeynya, " ", $keyword);
}
}
}
$keyword = strtolower($keyword);
$urikeyword = array('sex ','porn ','porno',', ','penis ','penis ','http://www.','http://','http','gamble','"',"'");
$keyword = str_replace($urikeyword, "", "$keyword");
echo "$keyword";
exit;
?>



