Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2009, 19:15
Avatar de Italico76
Italico76
 
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 1 mes
Puntos: 292
Respuesta: [ APORTE ] parsear URLs de referals como Google y Yahoo

okram: amigo, si uso un foreach seria ineficiente porque recoreria todos los elementos del array y aunque sean 2 o 3...... va en contra de lo que he aprendido.

Usar un break para salir del ciclo..... tampoco es algo que quiero hacer pero gracias igual porque me hicistes reflexionar un rato.

Aca un codigo que incluye al buscador MSN:

Código PHP:
<?
Function parse_referal(){
  
$referer$_SERVER['HTTP_REFERER'];
  
  
$pattern = array ('google'=>'/&q=([0-9a-zA-Z.\+%]{1,})/','yahoo'=>'/\?p=([0-9a-zA-Z.\+%]{1,})/','msn'=>'/\?q=([0-9a-zA-Z.\+%]{1,})/');
  
  
$matches=array(); // vacio
  
  
if (strstr($referer,'yahoo.'))
    
preg_match($pattern['yahoo'], $referer$matches);      
  else    
      if (
strstr($referer,'google.'))
        
preg_match($pattern['google'], $referer$matches);      
      else
        if (
strstr($referer,'msn.'))
          
preg_match($pattern['msn'], $referer$matches);      
          
return (
$matches[1]);  
}

echo 
parse_referal();
?>
Las expresiones tienen una parte en comun pero creo que no hace a la cuestion....asi que asi lo dejo :)

Valoro otras opiniones
__________________
Salu2!