Ver original$x = 0; $s = preg_replace_callback('/x/', function($m) use (&$x) { if ($x < 3) { // OK } $x += 1;});