Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php preg_替换未按我期望的方式工作_Php_Regex - Fatal编程技术网

Php preg_替换未按我期望的方式工作

Php preg_替换未按我期望的方式工作,php,regex,Php,Regex,我是php新手,preg_replace有问题。我使用的是php版本5.3.2,我有以下代码行: $minYear = preg_replace("/(\s)|(now)/g", "", $minYear); 在这行代码之前,$minYear中有字符串now-6 在这行代码之后,$minYear是一个空字符串。我希望它有-6 我试过在regex模式中使用和不使用括号 我做错了什么?PHP正则表达式中没有g标志,因为替换始终是全局的。您还可以从正则表达式中删除不必要的分组 您可以使用: $min

我是php新手,preg_replace有问题。我使用的是php版本5.3.2,我有以下代码行:

$minYear = preg_replace("/(\s)|(now)/g", "", $minYear);
在这行代码之前,
$minYear
中有字符串
now-6

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

我试过在regex模式中使用和不使用括号


我做错了什么?

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

您可以使用:

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

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