[英]very simple preg_replace doesnt work
我有这段代码,可以在我用于正则表达式的所有测试器中使用,但是后来,在我真正的php代码中,它不起作用。 我要替换的是链接中的数字
$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???
怎么了??
您应该将preg_replace
的结果分配回$value
,如下所示:
$value = preg_replace($patternHelperId, "mynewreplacement", $value);
另外,可以将\\d{1,}
替换为\\d+
。
preg_replace
返回结果。 它不会就地修改变量
function: 您忘记了使用函数的结果:
$newValue = preg_replace($patternHelperId, "mynewreplacement", $value);
echo "\n$newvalue\n";
更好的模式:
$patternHelperId='/helperid=\K\d++/';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.