Foros del Web » Programando para Internet » PHP »

Dirección de mail limpia

Estas en el tema de Dirección de mail limpia en el foro de PHP en Foros del Web. consigo esto $mail = "[email protected]" str_replace("@", "", $mail); y se ve pedrohotmail.com Pero quiero quitar desde la @hasta el final porque así me da igual ...
  #1 (permalink)  
Antiguo 07/10/2011, 09:12
 
Fecha de Ingreso: octubre-2011
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 2
Dirección de mail limpia

consigo esto

$mail = "[email protected]"

str_replace("@", "", $mail);

y se ve pedrohotmail.com

Pero quiero quitar desde la @hasta el final porque así me da igual que sea de yahoo que del que sea, no sé si se podrá en PHP. Gracias.
  #2 (permalink)  
Antiguo 07/10/2011, 09:16
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Dirección de mail limpia

Explicate un poco más detallado no se entiende bien lo que deseas hacer
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 07/10/2011, 09:20
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: Dirección de mail limpia

str_replace solo sirve para reemplazar una determinada zona por otra cosa, en tu caso quita @ porque no hay nada entre las comillas,
este codigo te deberia funcionar:

Código PHP:
Ver original
  1. $email = "[email protected]";
  2. $ext = explode("@", $email);
  3. echo $ext[0];
__________________
Mas vale un codigo que mil palabras
  #4 (permalink)  
Antiguo 07/10/2011, 09:25
 
Fecha de Ingreso: octubre-2011
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Dirección de mail limpia

Cita:
Iniciado por dmm84 Ver Mensaje
str_replace solo sirve para reemplazar una determinada zona por otra cosa, en tu caso quita @ porque no hay nada entre las comillas,
este codigo te deberia funcionar:

Código PHP:
Ver original
  1. $email = "[email protected]";
  2. $ext = explode("@", $email);
  3. echo $ext[0];

Funciona así que me vale, aunque con otras exp.regulares también se podrá imagino.
  #5 (permalink)  
Antiguo 07/10/2011, 11:14
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 14
Respuesta: Dirección de mail limpia

explode no utiliza expresiones regulares. Lo único que hace es, mediante un delimitador, convertir una cadena en array. En este caso, quedan dos posiciones en el array, la que tiene email y la que tiene loquesea.com. El delimitador se pierde.

Por poder se pueden usar expresiones regulares, claro. También se puede buscar la posición del @ con strpos y combinarlo con substr. Siempre hay mil formas de hacer las cosas, pero todo eso es complicarse. La solución de jinno me parece la más simple posible para lo que quieres.

De todas formas, ¿para qué quieres esto? La gracia de las direcciones email es que son únicas y, quitando la referencia al servidor, esa unicidad se pierde.

Etiquetas: mail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:41.