неожиданная ошибка T_FUNCTION при использовании «function (array $ match)»

Привет я использую следующий код, но я получаю "неожиданную синтаксическую ошибку T_FUNCTION" для второй строки. Какие-либо предложения?

preg_replace_callback("/\\[LINK\=(.*?)\\\](.*?)\\[\/LINK\\]/is",
function (array $matches) {
    if (filter_var($matches[1], FILTER_VALIDATE_URL))
        return '<a href="'.
            htmlspecialchars($matches[1], ENT_QUOTES).
            '" target="_blank">'.
            htmlspecialchars($matches[2])."</a>";
    else
        return "INVALID MARKUP";
}, $text);

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

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