Orale

eso es mucho código como para hacer algo que se pudo habe hecho asi:
Código PHP:
function txt2link($txt) {
$patrones = array ( "/(http\:\/\/[^\s]+)/i",
"/(ftp\:\/\/[^\s]+)/i",
"/(mailto\:([^\s]+))/i",
"/\*(.+)\*/i",
"/\_(.+)\_/i",
"/\r/i");
$reemplazo = array ( "<a href=\"\\1\" rel=\"external\">\\1</a>",
"<a href=\"\\1\" rel=\"external\">\\1</a>",
"<a href=\"\\1\" rel=\"external\">\\2</a>",
"<b>\\1</b>",
"<em>\\1</em>",
"<br/>\n");
return preg_replace($patrones,$reemplazo, $txt);
};
Asi si haces txt2link('Un texto blablabla un enlace http://forosdelweb.com');
imprimiria un texto blablabla un enlace <a href="http://www.forosdelweb.com" rel="external">http://www.forosdelweb.com</a>