Come convalidare e sanificare una email in PHP
In PHP, puoi utilizzare la funzione filter_var()
integrata per convalidare e sanificare una stringa di input come indirizzo email. Ecco un esempio di come puoi utilizzarlo con una proprietà di classe privata $email
:
class MyClass {
private string $email;
public function setEmail(string $email) {
// Convalida e sanifica l'input dell'email
$email_sanificata = filter_var($email, FILTER_SANITIZE_EMAIL);
if (filter_var($email_sanificata, FILTER_VALIDATE_EMAIL)) {
// L'email è valida, assegnala alla proprietà della classe
$this->email = $email_sanificata;
} else {
// L'email non è valida, genera un'eccezione o gestisci l'errore
throw new Exception("Indirizzo email non valido: " . $email);
}
}
public function getEmail() {
return $this->email;
}
}
// Utilizzo:
$myObj = new MyClass();
$myObj->setEmail('[email protected]');
$email = $myObj->getEmail(); // Restituisce '[email protected]'
In questo esempio, il metodo setEmail()
sanifica prima l’input dell’email utilizzando il filtro FILTER_SANITIZE_EMAIL
, che rimuove eventuali caratteri non validi per un indirizzo email. Quindi, convalida l’email sanificata utilizzando il filtro FILTER_VALIDATE_EMAIL
, che verifica se l’indirizzo email è valido secondo il formato dell’indirizzo email. Se l’email è valida, la assegna alla proprietà della classe $email
, altrimenti genera un’eccezione. Il metodo getEmail()
restituisce semplicemente il valore della proprietà $email
.