فب إغلاق وظيفة كمعلمة إلى بريغ_باستبدال النتائج في خطأ الخادم الداخلي 500
-
12-11-2019 - |
سؤال
لدي preg_replace_callback
الذي يأخذ وظيفة إغلاق (مجهول) كمعلمة 2 ويعمل بشكل جيد تماما على المحلية ، ولكن عندما نشرها للعيش البيئة فإنه يؤدي إلى خطأ => خطأ الخادم الداخلي 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);
أي اقتراحات كيف يمكنني العمل حول هذه المشكلة.أنا بحاجة إلى استخدام dat داتيتم داخل وظيفة رد الاتصال الخاصة بي وتمريرها إلى preg_replace_callback
.بيئة التطوير الخاصة بي هي مشعل الكود.
المحلول
وظائف مجهولة تعمل فقط في فب 5.3 وما فوق.يمكنك استخدام create_function()
بدلا من ذلك:
$regExPattern = '/\<%(?<content>.*?)%\>/';
$template = preg_replace_callback($regExPattern, create_function(
'$matches'
, 'if(isset($dataItem[trim($matches[\'content\'])])) {
return $dataItem[trim($matches[\'content\'])];
}
else {
return "";
}'
)
);
لم تختبر ، بطبيعة الحال.
لا تنتمي إلى StackOverflow