Non c'è una pagina pubblica ma ti spiego....

Sto facendo una specie di editor....
Ho un frame con designMode=on

Mentre scrivo devo controllare se è stato inserito nel testo una url....
Se la trovo la devo trasformare in link...

Diciamo che ci riesco con quella funzione che applica quel regex, ma la prima volta che trova una url, la trasforma in link appena scrivo un altra lettera ovviamente facendo nuovamente il controllo, ritrova quell'url all'interno del link e trafroma sia href che il testo in un nuovo link...quindi mi ritrovo un link dentro al link, che sballa un po tutto....

Quindi ricapitolando ho questo testo
-----------------------------------------------
Ciao vieni sul mio sito www.google.it ciao
-----------------------------------------------
Quando appena do lo spazio dopo ...it ho bisogno di trasformare quell'url in link...ed è ok
Però appena scrivo la c di ciao, riparte il controllo sul testo è succede che...

primo controllo
www.google.it -> www.google.it

successivi controlli
www.google.it

->

www.google.it">www.google.it</a>


Capito il problema??
Ora dovrei far capire al regex di non trasformare i link già formattati, cioè non dovrebbe cercare in mezzo a i tags praticamente.


Quindi in totale ho un

codice:
testo.addEventListener('keyup',controllaTesto(this));

function controllaTesto(testo){
		var rPattern = /(^|[^\/])(www\.[\S]+(\b|$).([\S]+(\b|$)))/gim;	
                testo = testo.replace(rPattern, '$1$2');
}
Se lo metto sull'evento focusout funziona, ma c'è il problema del link al link...
Se lo metto sull'evento keyup praticamente funziona ma poi mi da il cursore all'inizio e mi scrive al contrario

Spero di essere stato chiaro....grazie mille ciao!