0

PHP 5.2.15

{date[F]}をdate関数に置き換えようとしています。

私はうまく機能するパターンを持っています。

preg_replace('/({date\[(.*?)\]})/', date(${2}), $subject);

preg_replace_callbackを試しましたが、create_function()を使用しても機能しないようです。

試したメソッドで、ほとんど未定義のエラーが発生します。

4

1 に答える 1

1

/e修飾子は必要です。また、置換式は文字列である必要があります。

= preg_replace('/(\{date\[(.*?)\]})/e', 'date("$2")', $subject);

{また、最初の中括弧をエスケープするのを忘れたことに注意してください。

preg_replace#105490のマニュアルの例を参照してください。または、preg_replace_callbackコールバックがどのように一致パラメーターを解凍する必要があるか(これは元の問題のように聞こえます)。

于 2012-01-13T05:20:20.703 に答える