私はphpをアップグレードしましたが、現在はereg_replace
非推奨のエラーが発生しています。
Web でいくつかの検索を行ったところ、代わりに preg を使用できることがわかりましたが、このコードを正しく変更する方法がわかりません
$scriptName = ereg_replace(
"^".$_SERVER["DOCUMENT_ROOT"], "",
$_SERVER["SCRIPT_FILENAME"]
);
私はphpをアップグレードしましたが、現在はereg_replace
非推奨のエラーが発生しています。
Web でいくつかの検索を行ったところ、代わりに preg を使用できることがわかりましたが、このコードを正しく変更する方法がわかりません
$scriptName = ereg_replace(
"^".$_SERVER["DOCUMENT_ROOT"], "",
$_SERVER["SCRIPT_FILENAME"]
);
を に置き換えe
ますp
。
その最初の引数の先頭と末尾に区切り記号を追加します。伝統的に、人々はスラッシュ ( ) を使用しますが、正規表現でその文字を実際に使用する機会が少ない/
ため、使用するのが好きです。~
$_SERVER["DOCUMENT_ROOT"] の値に特殊文字が含まれている場合、区切り記号を追加するだけでは機能しません。次のようにエスケープする必要があります。
$scriptName = preg_replace(
"/^".preg_quote($_SERVER["DOCUMENT_ROOT"],"/")."/",
"",
$_SERVER["SCRIPT_FILENAME"]
);