【问题标题】:preg_replace not working how I expectpreg_replace 没有按我的预期工作
【发布时间】:2015-02-03 22:39:05
【问题描述】:

我是 php 新手,我遇到了 preg_replace 的问题。我正在使用 php 版本 5.3.2,并且我有这行代码:

$minYear = preg_replace("/(\s)|(now)/g", "", $minYear);

在这行代码之前,$minYear 中有字符串now-6。

在这行代码之后,$minYear 是一个空字符串。我希望它有-6

我尝试过在正则表达式模式中使用和不使用括号。

我做错了什么?

【问题讨论】:

  • 注意:5.3.2 已经很老了。整个 5.3 分支是 eol。如果您不在 debian 或 rhel(或其他仍提供安全升级的发行版)上,我强烈建议您升级。
  • 不幸的是我无法控制

标签: php regex


【解决方案1】:

PHP 正则表达式中没有g 标志,因为替换总是全局的。您还可以从您的正则表达式中删除不必要的分组。

你可以使用:

$minYear = preg_replace('/\s|now/', "", $minYear); // -6

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-26
    • 2015-11-17
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多