With this class we try to catch some keywords from
google,
yahoo and
bing search engines.
<?php
class keywords
{
private $referer;
private $_e;
public $keywords;
public function __construct()
{
if($_SERVER['HTTP_REFERER'])
{
if(preg_match("#\.google|search\.yahoo|\.bing#", $_SERVER['HTTP_REFERER']))
{
$this->referer = urldecode($_SERVER['HTTP_REFERER']);
}
else
{
return;
}
}
else
{
return;
}
}
private function getSeparators()
{
$this->_e = (preg_match("#\?q=|\?p=#", $this->referer)) ? "\?" : "&";
}
public function getKeywords()
{
if(!empty($this->referer))
{
$this->getSeparators();
if(preg_match("#\.google#", $this->referer))
{
$m_ = preg_match("#{$this->_e}q=(.+?)&#si", $this->referer, $this->keywords);
if($m_ == 0)
{
return false;
}
}
elseif(preg_match("#search\.yahoo#", $this->referer))
{
$m_ = preg_match("#{$this->_e}p=(.+?)\&#si", $this->referer, $this->keywords);
if($m_ == 0)
{
return false;
}
}
elseif(preg_match("#\.bing#", $this->referer))
{
$m_ = preg_match("#{$this->_e}q=(.+?)\&#si", $this->referer, $this->keywords);
if($m_ == 0)
{
return false;
}
}
else
{
return false;
}
return $this->keywords[1];
}
else
{
return false;
}
}
}
?>
Save this script as
keywords_class.php
Now let’s try to print these keywords.
<?php
require_once('keywords_class.php');
$keywordsObj = new keywords();
$keys = $keywordsObj->getKeywords();
if($keys)
{
print $keys;
}
else
{
print "ooops";
}
?>
Save this code as
index.php