Código:
Eso no funciona, no reemplaza, porque la función analiza en "$3", que como cadena de texto es solo un signo $ y un 3 =/preg_replace("/(?:http(s)?:\/\/)?(www\.)?([a-z0-9]{1}[a-z0-9-\.]*\.[a-z]+(?:\/{1}[a-z0-9 -_\.]+)*\/?)/i", "<a href=\"http$1://$2$3\">".ucfirst("$3")."</a>", $text);
Tonces, como uso la función? Dejandolo dentro de las comillas tampoco anduvo xD.