私は次のPHPコードを書きました:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
上記のコードを実行すると、次の警告が表示されます。
非推奨:関数ereg_replace()は非推奨です
この警告を解決するにはどうすればよいですか。
私は次のPHPコードを書きました:
$input="menu=1&type=0&";
print $input."<hr>".ereg_replace('/&/', ':::', $input);
上記のコードを実行すると、次の警告が表示されます。
非推奨:関数ereg_replace()は非推奨です
この警告を解決するにはどうすればよいですか。
preg_replace
ドキュメントに切り替えて、ドキュメントの違いがある場合は、ereg構文(POSIX)ではなくpreg構文(PCRE)を使用するように式を更新します(ereg_replace
ドキュメントのマニュアルに記載されているとおり)。
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 );
代わりにpreg_replaceを使用するようにereg_replaceへの呼び出しを変更します
http://php.net/ereg_replaceのコメント:
注:PHP 5.3.0以降、正規表現拡張機能は廃止され、PCRE拡張機能が優先されます。
したがって、preg_replaceはあらゆる点でより良い選択です。ただし、パターン構文にはいくつかの違いがあることに注意してください。
IIRCは、preg_
代わりに関数を使用することを提案しています(この場合preg_replace
)。
ereg_replaceをpreg_replaceに置き換える方法の詳細は次のとおりです。