function replaceSelectedText(obj, S) {
obj.focus();
if (document.selection) {
var oSel = document.selection.createRange();
if (oSel.text) {
switch(S) {
case "URL":
var url = prompt("Введите URL:", "http://www.")
if (url) oSel.text = "[URL=" + url + "]" + oSel.text + "[/URL]";
break;
default:
oSel.text = "[" + S + "]" + oSel.text + "[/" + S + "]";
break;
}
}
} else if (typeof(obj.selectionStart) == "number") {
if (obj.selectionStart != obj.selectionEnd) {
var start = obj.selectionStart;
var end = obj.selectionEnd;
switch(S) {
case "URL":
var url = prompt("Введите URL:", "http://www.")
if (url) obj.value = obj.value.substr(0, start) + "[URL=" + url + "]" + obj.value.substr(start, end - start) + "[/URL]" + obj.value.substr(end);
break;
default:
obj.value = obj.value.substr(0, start) + "[" + S + "]" + obj.value.substr(start, end - start) + "[/" + S + "]" +obj.value.substr(end);
break;
}
}
}
}
Для URL
<a href="javascript
:replaceSelectedText(<элемен т, в котором происходит замена>, 'URL')">URL</a>
Для всего остального
<a href="javascript
:replaceSelectedText(<элемен т, в котором происходит замена>, '<bbcode>')"><bbcode></a>
* Вместо <элемент, в котором происходит замена> и <bbcode> подставляешь свои значения