替换 ereg_replace

发布于 2024-10-17 00:22:09 字数 560 浏览 2 评论 0原文

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

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

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

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

Possible Duplicate:
How can I convert ereg expressions to preg in PHP?

I have upgraded php and now im getting the ereg_replace deprecated errors.

I have done some searching round web and found that I can use preg instead but not sure how to change this code correctly

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

扛刀软妹 2024-10-24 00:22:09

e 替换为 p

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

Replace the e with a p.

Add a delimiter to the beginning and end of that first argument. Traditionally, people use slashes (/), but I like to use ~ as there is less chance of actually using that character in the regular expression.

赴月观长安 2024-10-24 00:22:09

当 $_SERVER["DOCUMENT_ROOT"] 的值中包含特殊字符时,仅添加分隔符将不起作用。您需要按如下方式转义它们:

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

Just adding delimiters won't work when special characters are included in $_SERVER["DOCUMENT_ROOT"]'s value. You need to escape them as follows:

$scriptName = preg_replace(
  "/^".preg_quote($_SERVER["DOCUMENT_ROOT"],"/")."/",
  "", 
  $_SERVER["SCRIPT_FILENAME"]
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文