- Home
- Categorie
- Coding e Sistemistica
- PHP
- Come fixare errore Eregi deprecated ?
-
Come fixare errore Eregi deprecated ?
Ciao a tutti, ho un modulo contatti collegato a un file php chiamato functions.php con il seguente codice:
[php]
<?php
function ValidateEmail($email)
{$regex = "([a-z0-9_-.]+)".
"@".
"([a-z0-9-.]+){2,255}".
".".
"([a-z]+){2,10}";
$eregi = eregi_replace($regex, '', $email);
return empty($eregi) ? true : false;
}
?>
[/php]Quando provo il modulo mi esce il seguente errore:
Deprecated: Function eregi_replace() is deprecated in /web/htdocs/nomesito/home/functions.php on line 22
Ho capito che questo errore è causato dalla funzione eregi che è ormai obsoleta, ma non so correggere il codice.
Potete aiutarmi a convertirlo? Cosa devo sostituire e con cosa?
Grazie
-
Ciao, prova con questo:
<?php function ValidateEmail($email) { $regex = "([a-z0-9_\-\.]+)". "@". "([a-z0-9\-\.]+){2,255}". "\.". "([a-z]+){2,10}"; $eregi = preg_replace($regex, '', $email); return empty($eregi) ? true : false; } ?>
Ho solo modificato
$eregi = eregi_replace($regex, '', $email);
in
$eregi = preg_replace($regex, '', $email);
Fammi sapere.
-
Adesso mi dice:
Warning: preg_replace(): Unknown modifier '@' in /web/htdocs/nome sito/home/functions.php on line 22
Stavo leggendo qui php.html.it/articoli/leggi/3304/php-abbandona-le-funzioni-ereg-le-alternative/ e a quanto pare ci sono degli / da inserire nel codice, ma non ci capisco nulla...
-
Riprova con il seguente:
<?php function ValidateEmail($email) { $regex = "/([a-z0-9_\-\.]+)". "@". "([a-z0-9\-\.]+){2,255}". "\.". "([a-z]+){2,10}/i"; $preg = preg_replace($regex, '', $email); return empty($preg) ? true : false; } ?>
-
Ok grazie!
-
Riguarda il codice, ho aggiunto ancora "preg" sostituendo "eregi".
Comunque prova ad inserire anche "@" in questo modo:
$preg = preg_replace($regex, '@', $email);