es para un editor de bbcode?
Código
function doURL(obj) { var sel; textarea = document.getElementById(obj); var url = prompt('Enter the URL:','http://'); var scrollTop = textarea.scrollTop; var scrollLeft = textarea.scrollLeft; if (url != '' && url != null) { if (document.selection) { textarea.focus(); var sel = document.selection.createRange(); if(sel.text==""){ sel.text = '<a href="' + url + '">' + url + '</a>'; } else { sel.text = '<a href="' + url + '">' + sel.text + '</a>'; } //alert(sel.text); } else { var len = textarea.value.length; var start = textarea.selectionStart; var end = textarea.selectionEnd; var sel = textarea.value.substring(start, end); if(sel==""){ sel=url; } else { var sel = textarea.value.substring(start, end); } //alert(sel); var rep = '<a href="' + url + '">' + sel + '</a>';; textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len); textarea.scrollTop = scrollTop; textarea.scrollLeft = scrollLeft; } } }
fuente: http://www.corpocrat.com