PHP 5.3 Deprecated: Function ereg() – Javítás

Akik PHP 5.2-ről 5.3-ra térnek át, minden bizonnyal találkoznak pár Deprecated üzenettel. Röviden ismertetem a leggyakoribb (ereg(), eregi()) megoldását.

A PHP 5.3-ban sok funkció nem támogatott már, ezért azokat a kódban mellőzni kell, illetve valamivel helyettesíteni. Így például az ereg() és eregi() funkciót a preg_match()-vel.

Példa.:

if(!eregi("^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$", $str)) {

msg = 'az email nem helyes!';

}

if(!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $str)) {

$msg = 'az email nem helyes';

}

Az eregi() i módosítója a preg_match() minta végén kerül be.

További 5.3-as nem támogatott funkciók:

  • call_user_method() helyette: call_user_func()
  • call_user_method_array() (helyette: call_user_func_array()
  • define_syslog_variables()
  • dl()
  • ereg() helyette: preg_match()
  • ereg_replace() helyette: preg_replace()
  • eregi() helyette: preg_match() with the 'i' modifier
  • eregi_replace() helyette: preg_replace() with the 'i' modifier
  • set_magic_quotes_runtime() és az alias magic_quotes_runtime()
  • session_register() helyette: $_SESSION superglobal
  • session_unregister() helyette: $_SESSION superglobal
  • session_is_registered() helyette: $_SESSION superglobal
  • set_socket_blocking() helyette: stream_set_blocking()
  • split() helyette: preg_split()
  • spliti() helyette: preg_split() az 'i' módosítóval
  • sql_regcase()
  • mysql_db_query() helyette: mysql_select_db() és mysql_query()
  • mysql_escape_string() helyette: mysql_real_escape_string()
  • az is_dst paraméter a mktime()-hoz. Helyette az új timezone kezelő funkciókat kell használni.

Forrás: http://php.net/manual/en/migration53.deprecated.php

Buy and Trade Bitcoin at Binance