替换ereg_replace

时间:2011-02-10 17:48:35

标签: php regex preg-replace ereg-replace

  

可能重复:
  How can I convert ereg expressions to preg in PHP?

我已经升级了php,现在我得到了ereg_replace已弃用的错误。

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

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

2 个答案:

答案 0 :(得分:6)

e替换为p

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

答案 1 :(得分:1)

当$ _SERVER [“DOCUMENT_ROOT”]的值中包含特殊字符时,添加分隔符将无效。你需要按如下方式逃避它们:

$scriptName = preg_replace(
  "/^".preg_quote($_SERVER["DOCUMENT_ROOT"],"/")."/",
  "", 
  $_SERVER["SCRIPT_FILENAME"]
);