Lo he conseguido!!!! me cansé de ver ejemplos entonces cogí el lápiz y el papel, empecé a escribir todo tipo de urls válidas y conseguí el pattern perfecto:
Código PHP:
1 <?php
2 if($_POST['texto'] != ''){
3 $pattern = "/(?:http\:\/\/)?([[:alnum:]]+\.[\/[:alnum:]\.]*)/";
4 $replacement = "<a href=\"http://\\1\">\\1</a>";
5 $string = $_POST['texto'];
6 $cadena = preg_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 ?>
aunque creo que esto también convertiría las frases del tipo frase.frase, o sea, separadas por un punto. pero intentaré corregirlo...