1

可能重复:
如何在 PHP 中将 ereg 表达式转换为 preg?

我已经升级了 php,现在我得到了ereg_replace不推荐使用的错误。

我在网上做了一些搜索,发现我可以使用 preg 代替,但不确定如何正确更改此代码

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

2 回答 2

6

将 替换ep

在第一个参数的开头和结尾添加分隔符。传统上,人们使用斜线 ( /),但我喜欢使用~,因为在正则表达式中实际使用该字符的机会较小。

于 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 回答