Ya le tengo dicho que no se me haga el humilde.
A los grandes nos queda mal.
Y sin desmerecer el trabajo que está haciendo
IsaBelM con el motor RegEx y sus métodos, el mejor y más presentable ejemplo es el que puso usted. Los enlaces extraídos de la cadena deben terminar en una lista, porque es lo lógico.
Cambiando esta línea
Código:
...
nvalor += '<li><a href=\"' +lineas[i]+ '\"> ' +lineas[i]+ ' <\/a><\/li>';
...
sólo falta envolverlo para regalo con un moño.
No termino de entender bien cómo trabaja
exec(),
IsaBelM. Aunque me doy cuenta de que tuviste la brillante idea de eliminar las url duplicadas (cuando las hubiere)

.
Supongo que envolviste con paréntesis para que guarde las expresiones como $n y las siga repitiendo en secuencia hasta que se termina la string, pero trato de desarmar el mecanismo y no lo saco.
(Cómo odio cuando tengo que reconocer que sos más inteligente que yo. Aunque tampoco te agrandés, que eso no conlleva demasiado mérito ...)