ホームページ >バックエンド開発 >PHPチュートリアル >非推奨: eregi() 関数は非推奨です eregi() 関数は php5.3 以降サポートされません
正規表現を記述するときに、ereg() を使用すると、次のようなエラーが発生することがあります: Deprecated: Function eregi() is deprecated ××××××××× 理由は、php5.3 が ereg をサポートしなくなったためです。 () 代わりに、 preg_match() i パラメータを使用できます。例: ereg(“^[[:alnum:]]+$”, $pass); ]]+$/i ", $pass);
詳細な手順は次のとおりです:
PHP 5.3 一方では、2007 年に PHP6 の前バージョンが計画され、多くの機能が追加され、多くの構文が統一され、PHP がより強力かつ簡潔になったと言えます。
統計的アーキテクチャの計画に関しては、PHP は当然のことながら、一部のエイリアスと繰り返し関数を分類し、PHP 5.3 以降、いくつかの未使用のものを正式に削除します。そのため、新しいプロジェクトでそれらを使用し続けることはお勧めできません。
PHP 5.3 には、
という 2 つの非推奨の機能があります。
E_DEPRECATED および E_USER_DEPRECATED
以下は、PHP 5.3 以降の古いプロジェクトで発生する問題です
* syslog_variables の定義
* register_globals
* register_long_arrays
* セーフモード
* magic_quotes_gpc
* magic_quotes_runtime
* magic_quotes_sybase
* PHP.ini のコメントで # を使用することは推奨されなくなりました。
非推奨の関数:
* call_user_method() は call_user_func() に置き換えることができます
* call_user_method_array() は、define_syslog_variables() の代わりに call_user_func_array() を使用できます
* dl() は DL 使用時の拡張機能の読み込みをサポートします。php5.3 以降では php.ini 設定を使用する必要があります
* ereg() は preg_match() に置き換えることができます
* ereg_replace() は preg_replace() で置き換えることができます
* eregi() は preg_match() i パラメータ
に置き換えられます
* eregi_replace() は preg_replace() のパラメータ
を置き換えます
* set_magic_quotes_runtime() は、magic_quotes_runtime() に置き換えられました
* session_register() session_unregister() session_is_registered()
※上記3つは一律$_SESSION
に置き換えます。
* set_socket_blocking() は stream_set_blocking() に置き換えられます
* split() は preg_split() に置き換えられます
* spliti() は preg_split() モード「i」に置き換えられました
* sql_regcase()
* mysql_db_query() mysql_escape_string() の代わりに mysql_select_db() mysql_query() を使用します。 代わりに mysql_real_escape_string() を使用します
※タイムゾーン処理についてはTimezoneオブジェクト
を使用します
非推奨の機能:
* 新しいインスタンスを直接追加することは推奨されなくなりました。PHP 6 では
がサポートされなくなりました。
* 呼び出し時の参照渡しパラメーターは非推奨になり、PHP 6 ではサポートされなくなります
* 文字列の順序にアクセスするために {} を使用することは推奨されなくなりました。PHP 6 では
がサポートされなくなりました。
もちろん、プロジェクトが緊急であり、PHP 5.3 で上記のメソッドを使用したい場合は、次のメソッドを使用できます
php.ini に
を追加します
php_flag allow_call_time_pass_reference On php_value error_reporting “E_ALL & ~E_NOTICE & ~E_DEPRECATED”