Foros del Web » Programando para Internet » PHP »

Como reemplazar partes de un mail por asteriscos (***)

Estas en el tema de Como reemplazar partes de un mail por asteriscos (***) en el foro de PHP en Foros del Web. Saludos amigos de esta gran página. Estoy armando un sistemita que ya estoy por terminar y se me ocurrió algo. En este sistema se puede ...
  #1 (permalink)  
Antiguo 22/08/2014, 06:07
 
Fecha de Ingreso: agosto-2013
Ubicación: Talca
Mensajes: 40
Antigüedad: 10 años, 7 meses
Puntos: 1
Como reemplazar partes de un mail por asteriscos (***)

Saludos amigos de esta gran página.
Estoy armando un sistemita que ya estoy por terminar y se me ocurrió algo.

En este sistema se puede recuperar la clave a través de mail y bueno, quisiera que cuando el usuario ingrese su correo para recuperar su clave el mensaje de correo enviado satisfactoriamente se viera así:

Su correo fue enviado correctamente a la dirección cris*****@*****.com, o sea, como puedo reemplazar la dirección antes del arroba y después del arroba y antes del .com, .org, etc.?

Pasaría de:

[email protected]


A

mai*********@****.cl

Estoy un poco confuso, ya que no me manejo bien con los strings.
Se agradece la ayuda de todos jeje. Saludos desde Chile.
  #2 (permalink)  
Antiguo 22/08/2014, 07:50
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Como reemplazar partes de un mail por asteriscos (***)

http://stackoverflow.com/questions/1...with-asterisks

Última edición por cluster28; 22/08/2014 a las 08:09
  #3 (permalink)  
Antiguo 22/08/2014, 15:00
 
Fecha de Ingreso: agosto-2013
Ubicación: Talca
Mensajes: 40
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: Como reemplazar partes de un mail por asteriscos (***)

Gracias por la ayuda, pude hacer lo que quería.
El código final quedo así:

Código PHP:
Ver original
  1. public function hiddenMail($email)
  2.     {
  3.       $mail_segments = explode("@", $email);
  4.       $mail_segments[0] = substr($email,0,3).str_repeat("*", strlen($mail_segments[0]));
  5.       return implode("@", $mail_segments);
  6.     }


Saludos y gracias nuevamente.
  #4 (permalink)  
Antiguo 22/08/2014, 15:22
Avatar de kspr  
Fecha de Ingreso: agosto-2011
Ubicación: Ecuador
Mensajes: 43
Antigüedad: 12 años, 7 meses
Puntos: 7
Respuesta: Como reemplazar partes de un mail por asteriscos (***)

acabo de crear un codigo, me parecio interesante una funcion que haga eso, te dejo el codigo aca:

Código PHP:
Ver original
  1. /* censor mail by kspr :PP */
  2.  
  3. function censor_email($email = ''){
  4.  
  5. // TODO: check email
  6.  
  7. // email string
  8. $email = $email;
  9.  
  10. // search important email parts
  11. preg_match('~([^@]+)@([^\.]+)((\.[^$]+)+)~', $email, $email_parts);
  12.  
  13. // get prefix email
  14.  
  15. // get 40% of email
  16. $percent = 40; // change it or not :)
  17.  
  18. // calcule percent
  19. $prefix_percent = (strlen($email_parts[1]) * $percent) / 100;
  20.  
  21. // set prefix email
  22. $prefix_email = substr($email, 0, $prefix_percent) . str_repeat('*', strlen($email_parts[1])-($prefix_percent-1));
  23.  
  24. // set suffix
  25.  
  26. $suffix_email = str_repeat('*', strlen($email_parts[2])) . $email_parts[3];
  27.  
  28. // set new email string
  29. $new_email = $prefix_email . '@' . $suffix_email;
  30.  
  31. return $new_email;
  32.  
  33. }
  34.  
  35.   censor_email('[email protected]'),
  36.   censor_email('[email protected]'),
  37.   censor_email('[email protected]'),
  38.   censor_email('[email protected]')
  39. ));

retorna:

Código HTML:
Ver original
  1. array(4) {
  2.   [0]=>
  3.   string(25) "ksp******@***********.com"
  4.   [1]=>
  5.   string(11) "k***@**.net"
  6.   [2]=>
  7.   string(25) "jonat*********@******.net"
  8.   [3]=>
  9.   string(38) "whiitewhiit*****************@*****.com"
  10. }
  #5 (permalink)  
Antiguo 22/08/2014, 15:24
Avatar de kspr  
Fecha de Ingreso: agosto-2011
Ubicación: Ecuador
Mensajes: 43
Antigüedad: 12 años, 7 meses
Puntos: 7
Respuesta: Como reemplazar partes de un mail por asteriscos (***)

PD: este codigo te da la cantidad de asteriscos de acuerdo al email, y obtiene el 40% de la cadena para mostrarlo con coherencia

Etiquetas: mail, reemplazar, string
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 18:31.