1

重複の可能性:
PHP で ereg 式を preg に変換するにはどうすればよいですか?

私はphpをアップグレードしましたが、現在はereg_replace非推奨のエラーが発生しています。

Web でいくつかの検索を行ったところ、代わりに preg を使用できることがわかりましたが、このコードを正しく変更する方法がわかりません

$scriptName = ereg_replace(
    "^".$_SERVER["DOCUMENT_ROOT"], "", 
    $_SERVER["SCRIPT_FILENAME"]
);
4

2 に答える 2

6

を に置き換えeますp

その最初の引数の先頭と末尾に区切り記号を追加します。伝統的に、人々はスラッシュ ( ) を使用しますが、正規表現でその文字を実際に使用する機会が少ない/ため、使用するのが好きです。~

于 2011-02-10T17:50:09.773 に答える
1

$_SERVER["DOCUMENT_ROOT"] の値に特殊文字が含まれている場合、区切り記号を追加するだけでは機能しません。次のようにエスケープする必要があります。

$scriptName = preg_replace(
  "/^".preg_quote($_SERVER["DOCUMENT_ROOT"],"/")."/",
  "", 
  $_SERVER["SCRIPT_FILENAME"]
);
于 2011-02-10T23:15:22.350 に答える