PHP: risolvere l’errore “Function eregi() is deprecated”
L’errore “Function eregi() is deprecated
” si verifica perché la funzione eregi()
è obsoleta a partire da PHP 5.3 e viene rimossa completamente a partire da PHP 7. Questa funzione era utilizzata per eseguire la ricerca di una stringa senza distinzione tra maiuscole e minuscole in una stringa.
Difatti, “deprecated” significa che PHP considera questa funzione obsoleta, quindi è come se la funzione ereg()
non esistesse più. Pertanto, è meglio ora utilizzare la funzione che ha preso il suo posto.
Per risolvere l’errore, è necessario sostituire l’uso della funzione eregi()
con una funzione alternativa. In generale, puoi utilizzare la funzione preg_match()
insieme all’uso dei modelli di espressioni regolari.
La funzione ereg()
o eregi()
è quindi rimpiattata dalla funzione preg_match() dalla versione PHP 5.3 :
$is_image = eregi( "jpg|gif",$file_type );
Diventa quindi:
$is_image = preg_match( “~jpg|gif~i”,$file_type );
Ed ecco un altro esempio di come modificare il codice per risolvere l’errore:
Prima:
if (eregi("pattern", $string)) {
// Codice da eseguire se la stringa corrisponde al pattern
}
Dopo:
if (preg_match("/pattern/i", $string)) {
// Codice da eseguire se la stringa corrisponde al pattern (senza distinzione tra maiuscole e minuscole)
}
Nell’esempio sopra, il pattern “/pattern/i” viene utilizzato con preg_match()
, dove “i” è il flag che indica di eseguire la corrispondenza senza distinzione tra maiuscole e minuscole.
Assicurati di effettuare queste modifiche in tutti i punti del tuo codice in cui viene utilizzata la funzione eregi()
.
Un elenco delle funzioni obsolete come eregi
Ecco l’elenco delle funzioni che sono diventate obsolete, come eregi, a partire da PHP 5.3:
call_user_method() (use call_user_func() instead) call_user_method_array() (use call_user_func_array() instead) define_syslog_variables() dl() ereg() (use preg_match() instead) ereg_replace() (use preg_replace() instead) eregi() (use preg_match() with the ‘i’ modifier instead) eregi_replace() (use preg_replace() with the ‘i’ modifier instead) set_magic_quotes_runtime() and its alias, magic_quotes_runtime() session_register() (use the $_SESSION superglobal instead) session_unregister() (use the $_SESSION superglobal instead) session_is_registered() (use the $_SESSION superglobal instead) set_socket_blocking() (use stream_set_blocking() instead) split() (use preg_split() instead) spliti() (use preg_split() with the ‘i’ modifier instead) sql_regcase() mysql_db_query() (use mysql_select_db() and mysql_query() instead) mysql_escape_string() (use mysql_real_escape_string() instead) Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead. The is_dst parameter to mktime(). Use the new timezone handling functions instead.
Ricordatevi sempre che lo sviluppo è una forma d’arte.
I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento
▼ SEGUICI SU ▼
» Facebook per il Web e corsi online: https://www.facebook.com/developforfun
» Facebook di D4F Games: https://www.facebook.com/d4fgames
» Instagram per il Web e corsi online: https://www.instagram.com/develop4fun
» Instagram di D4F Games: https://www.instagram.com/d4f_games
» Twitter per il Web e corsi online: https://twitter.com/Develop4fun
» Twitter di D4F Games: https://twitter.com/D4fGames
» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q
Tag:deprecated, ereg, eregi, functions.php, funzione, funzione php, PHP 5.3, PHP 7, preg_match, Programmatore