私は次のコードを試みました:
$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...
作成された関数とコールバックは、どちらも私にとって新しいものです。これは、 に変わったpreg_replace についての私の質問で nickb によって私に与えられたコードから成長していpreg_replace_callback
ます。
私がやろうとしているのは、その回答のコードを関数にラップすることです。関数の再定義を回避するスコープでエラーが発生しています。(現時点では、PHP 5.3+ へのアップグレードは、私にとって可能性のあるオプションです。)
これを機能させるにはどうすればよいですか?