Titre: Requête Google
Date: Octobre 2004
Language: PHP / MySQL
Description: Ce code permet de récupérer l’éventuelle requête Google qui a permis d’arriver à cette page
<?php
function google_search()
{
$referer = $_SERVER['HTTP_REFERER'];
// si le referer n'est pas google
if( substr( $referer, 11, 7 ) != 'google.' )
return false;
// si on ne trouve pas q=
if( ( $pos = strpos( $referer, 'q=' ) ) === false )
return false;
// extraction de la recherche
$google = substr( $referer, $pos + 2 );
if( ( $pos = strpos( $google, '&' ) ) !== false )
$google = substr($google, 0, $pos);
$search = array( '+',
'%C3%A9', '%C3%A8', '%C3%AA', '%C3%AB', // é è ê ë
'%C3%A1', '%C3%A0', '%C3%A2', '%C3%A4', // á à â ä
'%C3%BA', '%C3%B9', '%C3%BC', '%C3%BB', // ú ù ü û
'%C3%AD', '%C3%AC', '%C3%AE', '%C3%AF', // í ì î ï
'%C3%B3', '%C3%B2', '%C3%B4', '%C3%B6', // ó ò ô ö
'%2C', '%3A', '%3B', '%3F', '%21', // , : ; ? !
'%2B', '%2F', '%5E', '%3D', '%25', // + / ^ = %
'%C2%B4', '%60', '%7E', // ´ ~ ¨
'%40', '%23', '%7C', '%26', // @ # | &
'%22', '%27', // " '
'%28', '%29', '%5B', '%5D', '%7B', '%7D', // ( ) [ ] { }
'%24', '%C2%A3', '%C2%AC', '%C2%A2' // $ £ ¬ ¢
);
$replace = array( ' ',
'é', 'è', 'ê', 'ë',
'á', 'à', 'â', 'ä',
'ú', 'ù', 'ü', 'û',
'í', 'ì', 'î', 'ï',
'ó', 'ò', 'ô', 'ö',
',', ':', ';', '?', '!',
'+', '/', '^', '=', '%',
'´', '~', '¨',
'@', '#', '|', '&',
'"', '\'',
'(', ')', '[', ']', '{', '}',
'$', '£', '¬', '¢'
);
return str_replace( $search, $replace, $google );
}
?>
La fonction renvoie la requête ou false (en cas d’erreur où si le visiteur ne vient pas de google).
Laisser un commentaire