Da quello che ho capito si dovrebbe utilizzare la variabile
$_SERVER['HTTP_REFERER'].

Tale variabile può assumere svariate forme. Ad esempio:

//http://search.msn.com/results.aspx?q=web+design&FORM=MSNH //http://www.google.it/search?q=web+design&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:itfficial&client=firefox-a //http://search.yahoo.com/search?p=web+design&fr=yfp-t-501-s&toggle=1&cop=mss&ei=UTF-8&vc=&fp_ip=SE
//http://search.alice.it/search/cgi/search.cgi?f=had&switch=0&offset=0&hits=10&dom=&qs =web+design //http://search.aol.com/aol/search?invocationType=comsearch30&query=web+design &do=Search
//http://search.dmoz.org/cgi-bin/search?search=web+design&all=yes&cs=UTF-8&cat=World%2FItaliano

Il termine di ricerca utilizzato in questi esempi è "web design".

La cosa che mi viene in mente da fare è quella di effettuare una manipolazione diversa per ciascuna delle precedenti stringhe. Non mi sembra però un metodo molto pratico..

Voi come procedereste?