如果匹配模式,我想用字符串中的X替换大于X的任何数字。
X = 4000和匹配函数(?)
的示例我有一个这样的字符串:
$code = "function(4500),function(3900),function2(12345)";
我想要一个这样的字符串:
$code = "function(4000),function(3900),function2(12345)";
我试过这个,但它不起作用:
preg_replace('function\(\d+>4000\)', '4000', $code)
答案 0 :(得分:2)
您可以在此处使用preg_replace_callback()
功能:
$str = 'String "function(4500),function(3900),function(12345)"';
$x = 4000;
$str = preg_replace_callback('/[0-9]+/', function($match) use($x) {
return min($match[0], $x);
}, $str);
echo $str;
输出:
String "function(4000),function(3900),function(4000)"