title: unexpected T_FUNCTION error when using "function (array $matches)"
body: <p>Hi I'm using the following code but I'm getting an "unexpected T_FUNCTION" syntax error for the second line. Any suggestions?</p>
  
  <pre><code>preg_replace_callback("/\\[LINK\=(.*?)\\\](.*?)\\[\/LINK\\]/is",
  function (array $matches) {
      if (filter_var($matches[1], FILTER_VALIDATE_URL))
          return '&lt;a href="'.
              htmlspecialchars($matches[1], ENT_QUOTES).
              '" target="_blank"&gt;'.
              htmlspecialchars($matches[2])."&lt;/a&gt;";
      else
          return "INVALID MARKUP";
  }, $text);
  </code></pre>