我尝试了以下代码:
$for_callback=create_function('$match','return $GLOBALS[\'replacements\'][$match[1]];');
$result = preg_replace_callback( $regex, '$for_callback', $string);
该变量$GLOBALS['replacements']
是在调用此函数之前动态生成的。
我收到一条错误消息,例如
Warning: preg_replace_callback() [function.preg-replace-callback]: Requires argument 2, '$for_callback', to be a valid callback in...
创建的函数和回调对我来说都是新的。这是由 nickb 在My question about preg_replace中给我的一些代码发展而来的,这些代码变成了preg_replace_callback
.
我想要做的是将该答案中的代码包装到一个函数中,并且我在避免重新定义函数的范围内遇到错误。(升级到 PHP 5.3+ 对我来说是一个远程的可能性选项。)
我怎样才能让它工作?