Sabes que? acabo de pensar en otra solución...
Código PHP:
$texto1="aquí debe haber una url <a href='http://algo.com'>algo</a><br>";
$texto2="aquí debe haber una url http://www.algo.com";
function busca_url($_valor='')
{
if (!eregi("<a",$_valor)){
$_remplazado = preg_replace("/(http:\/\/\S+)|( ftp:\/\/\S+)/i ","<a href='\\01\\02'>\\01\\02</a>\n",$_valor);
$_remplazado = preg_replace("/(\w+@\S+)/i","<a href='mailto:\\01'>\\01</a>\n",$_remplazado);
return $_remplazado;
} else {
return $_valor;
}
}
Que te parece??