2番目のパラメーターとしてクロージャ(匿名)関数をpreg_replace_callback使用するがあり、ローカルでは完全に正常に機能しますが、ライブ環境にデプロイすると、エラー=>内部サーバーエラー500が発生します。クロージャを削除すると機能します。
$regExPattern = '/\<%(?<content>.*?)%\>/';
$template = preg_replace_callback($regExPattern, function ($matches) use ($dataItem) {
if(isset($dataItem[trim($matches['content'])])) {
return $dataItem[trim($matches['content'])];
}
else {
return '';
}
}, $template);
この問題を回避するための提案はありますか。コールバック関数内で$dataItemを使用し、それをに渡す必要がありますpreg_replace_callback。私の開発環境はコードイグナイターです。