Your code should trigger a notice and a warning:
- Notice: Use of undefined constant ucfirst - assumed 'ucfirst'
- Warning: preg_replace_callback(): Delimiter must not be alphanumeric or backslash
If it doesn't, you seriously need to check your PHP error reporting settings. Fixing the code with the help of the error messages:
$check["pattern"] = "/correct/";
$text = "Could this be correct?";
echo preg_replace_callback($check["pattern"],'ucfirst',$text);
... we get this:
Warning: ucfirst() expects parameter 1 to be string, array given
So using a builtin callback function is working fine. However, as the manual page for ucfirst() explains, the function expects a string
, not an array. And, as the manual page for preg_replace_callback() explains:
A callback that will be called and passed an array of matched elements in the subject string.
To sum up: it isn't a sensible feature request, it's a bug in your code ;-)