approfitto ancora della tua pazienza per una domanda...

Al submit vorrei fare dei controlli lato client per mandare dei messaggi immediati (che poi replicherò lato server in PHP)
i controlli che vorrei fare sul testo sono questi:

- controllo che la textarea non sia vuota
- controllo dell' esistenza di un link e nel caso trasformarlo in cliccabile
- controllare se ci sono spazi e nel caso mettere il testo tra

</p>
- eliminare eventuali tag vuoti
- fare dei controlli di sicurezza (Accetto consigli)

allora io ho fatto in questo modo:

codice:
var textAreaForm = document.getElementById('textAreaForm');
		
if(textAreaForm.value != ''){
var testoCorretto  = textAreaForm.value;	
		
testoCorretto = htmlEntities(testoCorretto); 
// devo far diventare link cliccabili tutte le url che trovo all'interno della textarea
testoCorretto = testoCorretto.replace(/(http|https|ftp|ftps):\/\/(.*?)(\s|\n|[,.?!](\s|\n)|$)/g, "<a href=\"$1://$2\" rel=\"nofollow\">$1://$2</a>$3");	
		
//al posto degli spazi metto i paragrafi
testoCorretto = "

" + testoCorretto.replace(/\r/g, "").replace(/(?:\n *){2,}/g, "<\/p>

").replace(/\n/g, "<br \/>") + "<\/p>";
		
// Eliminazione di tutti i tag vuoti
var pattern= /<[^\/>]*>([\s]?)*<\/[^>]*>/;
testoCorretto = testoCorretto.replace(pattern, '');
}
else{
testoCorretto = textAreaForm;
}
document.getElementById('test').innerHTML = testoCorretto;


 function htmlEntities(str) {
    return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
}
Allora fino al punto 4 penso di averlo fatto solo che ho un problema....
se io scrivo un link del tipo http://www.miosito.com
la funzione mi crea correttamente il link cliccabile, ma se io scrivessi un tag
http://www.miosito.com
succede una cosa stratosferica(http://www.miosito.com">http//www.miosito.com%3C/a%3E)...

come pensi che debba trattare questi controlli?
Grazie mille


PS Ho aggiunto questo alla 4 riga:
codice:
testoCorretto = testoCorretto.replace(/([<>"])/g, " $1 ");
In questo modo non mi parsa i tag ma secondo te è un modo giusto per trattare l'argomento?