$subject = "'foo' = 'bar'";
$pattern = "/('foo' = ').*(')/";
$var = "123baz";
$replacement = "$1$var$2";
print_r(preg_replace($pattern, $replacement, $subject));
结果是23baz'
而不是'foo' = '123baz'
。为什么以及如何解决此问题?
认为您正在寻找类似这样的东西:
$subject = "'foo' = 'bar'";
$pattern = "/(= ').*(')/";
$var = "123baz";
$replacement = "= '$var'";
print_r(preg_replace($pattern, $replacement, $subject));
输出:
'foo' = '123baz'