Php 非常简单的预更换不起作用
我有这段代码,在我用于正则表达式的所有测试程序中都可以使用,但是后来,在我真正的php代码中,它不起作用。我想要的是将链接中的数字替换为其他数字Php 非常简单的预更换不起作用,php,regex,Php,Regex,我有这段代码,在我用于正则表达式的所有测试程序中都可以使用,但是后来,在我真正的php代码中,它不起作用。我想要的是将链接中的数字替换为其他数字 $value='/something.html?helperid=252'; //patern $patternHelperId='/(?<=helperid=)\d{1,}/'; //replace preg_replace($patternHelperId, "mynewreplacement
$value='/something.html?helperid=252';
//patern
$patternHelperId='/(?<=helperid=)\d{1,}/';
//replace
preg_replace($patternHelperId, "mynewreplacement", $value);
//debug
echo "\n$value\n";// /something.html?helperid=252????? aggain???
$value='/something.html?helperid=252';
//帕特恩
$patternheloperid='/(?您应该将preg\u replace
的结果分配回$value
,如下所示:
$value = preg_replace($patternHelperId, "mynewreplacement", $value);
另外,作为旁注,\d{1,}
可以替换为\d+
您应该将preg\u replace
的结果分配回$value
,如下所示:
$value = preg_replace($patternHelperId, "mynewreplacement", $value);
另外,作为旁注,\d{1,}
可以替换为\d+
preg\u replace
返回结果。它不会就地修改变量preg\u replace
返回结果。它不会就地修改变量您忘记了获取preg\u replace函数的结果:
$newValue = preg_replace($patternHelperId, "mynewreplacement", $value);
echo "\n$newvalue\n";
更好的模式:
$patternHelperId='/helperid=\K\d++/';
您忘记获取preg_replace函数的结果:
$newValue = preg_replace($patternHelperId, "mynewreplacement", $value);
echo "\n$newvalue\n";
更好的模式:
$patternHelperId='/helperid=\K\d++/';
是什么让你认为是RegEx的错?是什么让你认为是RegEx的错?