Si sabes hacerlo para una búsqueda interna, esto no será tan difícil.
Saber el url desde donde se enlazó a tu página es sencillo. Ese valor está en la variable $_SERVER['HTTP_REFERER']. Es una variable que no siempre está disponible, así que esto se puede hacer sólo cuando se tenga acceso al referrer.
Después de eso, si la pasas por una función como
parse_url().
Código PHP:
$url_parseada = parse_url($_SERVER['HTTP_REFERER']);
Tendrás un array con la url separada en sus componentes:
Código PHP:
$url_parseada['host'] // en esta variable puedes buscar si existe la cadena 'google', por ejemplo.
$url_parseada['path'] //aca debería tener algo como '/search'
$url_parseada['query'] // acá vienen todas las variables. Esto no debería estar vacío.
Si se cumple lo anterior, buscas en el query la variable "q" (que es donde vienen las palabras buscadas).
Para esto puedes hacer un simple
explode(), o utilizar
parse_str() Código PHP:
parse_str($url_parseada['query'], $urlvars);
// Ahora, si existe $urlvars['q']... esas son nuestras palabras de búsqueda.
Espero se haya entendido.
Sobre el uso de
parse_url() o
parse_str(), sigue los enlaces y en manual verás buenos ejemplos.
Saludos