web-dev-qa-db-ja.com

関数ereg_replace()は非推奨です-このバグをクリアする方法は?

私は次のPHPコードを書きました:

$input="menu=1&type=0&";

print $input."<hr>".ereg_replace('/&/', ':::', $input);

上記のコードを実行すると、次の警告が表示されます。

非推奨:関数ereg_replace()は非推奨です

この警告を解決するにはどうすればよいですか。

31
Pradip

切り替える - preg_replaceドキュメント そして、ereg構文(POSIX)の代わりにpreg構文(PCRE)を使用するように式を更新します 違いがある場合)ドキュメント (マニュアルで ereg_replaceドキュメント )。

41
Quentin
print $input."<hr>".ereg_replace('/&/', ':::', $input);

になる

print $input."<hr>".preg_replace('/&/', ':::', $input);

その他の例:

$mytext = ereg_replace('[^A-Za-z0-9_]', '', $mytext );

に変更されます

$mytext = preg_replace('/[^A-Za-z0-9_]/', '', $mytext );
31

代わりに preg_replace を使用するようにereg_replaceの呼び出しを変更します

6
Mark Baker

http://php.net/ereg_replace 言う:

注:PHP 5.3.0の時点で、 PCRE拡張 の代わりに、正規表現拡張は廃止されました。

したがって、 preg_replace はあらゆる点でより良い選択です。ただし、パターン構文にはいくつかの違いがあることに注意してください。

4
Amadan

IIRCは、代わりにpreg_関数(この場合はpreg_replace)を使用することを提案します。

3
Wevah

ここ ereg_replaceをpreg_replaceに置き換えることに関する詳細情報

3
Darko Kenda