Преобразование анонимной функции в PHP 5.3 в эквивалент PHP 5.2

У меня есть ошибки в строках 2 и 13 в PHP 5.2, я понятия не имею, чтобы сделать исправление, я пытался использовать create_function, но не работает, кто-нибудь может помочь с этим?

<code>function _process_special_keyword($str){
   $callback = function($match){
     $ret = $match[1] . '[' . $match[2] . ']';
     if(!empty($match[3])){
       $ret .= '.[' . $match[3] . ']';
     } 
     $ret .= $match[4];
     return $ret;           
   };

   $strSQL = preg_replace_callback('/([\s\(\.,])(' . SPECIAL_KEYWORDS . ')(?:\.(' . SPECIAL_KEYWORDS . '))?([\s\)\.,])/i', $callback, $str);

   $callback = function($match){
     return 'CASE WHEN ' . $match[1] . ' THEN ' . $match[2] . ' ELSE ' . $match[3] . ' END';
   };

   $strSQL = preg_replace_callback('/if\s*\((.+),(.+),(.+)\)/i', $callback, $strSQL);
   return $strSQL;
}
</code>

Благодарю.

Ошибка: ошибка разбора: синтаксическая ошибка, неожиданный T_FUNCTION

Ответы на вопрос(3)

Ваш ответ на вопрос