encontré algo interesante:
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\">\\0</a>", $text);
si haces esto funciona:
Código PHP:
2 if($_POST['texto'] != ''){
3 $pattern = "[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]";
4 $replacement = "<a href=\"\\0\">\\0</a>";
5 $string = $_POST['texto'];
6 $cadena = eregi_replace($pattern, $replacement, $string);
7
8 echo $cadena;
9 }else{
10 echo "
11 <form action=\"\" method=\"post\">
12 <textarea name=\"texto\" cols=\"50\" rows=\"20\">
13 </textarea>
14 <input type=\"submit\" />
15 </form>
16 ";
17 }
18 ?>
pero la regla es que la url sea completa, es decir, de la forma proto://subdom.domain.tld
intentaré hacerlo más flexible