Puf! Busca un poco sobre expresiones regulares para encontrar enlaces.
Yo tengo por ejemplo esto (que puede optimizarse pero aún no me puse a buscar como):
Código PHP:
Ver originalfunction reconocer_links($texto)
{
// TODO: acortar el texto de enlace. Que no pase de la primera barra /
$nuevo_texto = ' ' . $texto;
$nuevo_texto = preg_replace("#([\t\r\n ])([a-z0-9]+?){1}://([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)#i", '\1<a href="\2://\3" target="_blank">\2://\3</a>', $nuevo_texto); $nuevo_texto = preg_replace("#([\t\r\n ])(www|ftp)\.(([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)#i", '\1<a href="http://\2.\3" target="_blank">\2.\3</a>', $nuevo_texto); $nuevo_texto = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $nuevo_texto); $nuevo_texto = substr($nuevo_texto, 1);
return $nuevo_texto;
}
La funcion reemplaza links. Pero quizas las mismas expresiones regulares te sirvan para tu script.