Signalwerk - Web-Code-Library

Markierten Text umschließen

Diese Funktion ermittelt den in einem Input- oder Textarea-Feld markierten Text und umschließt ihn mit beliebigen Zeichen.

function insert_code(id,tag1,tag2) {
var input = document.getElementById(id);
input.focus();
if (typeof document.selection != 'undefined') {
var range = document.selection.createRange();
var insText = range.text;
range.text = tag1 + insText + tag2;
range = document.selection.createRange();
if (insText.length == 0) { range.move('character', -tag2.length); }
else { range.moveStart('character', tag1.length + insText.length + tag2.length); }
range.select();
}
else if (typeof input.selectionStart != 'undefined') {
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + tag1 + insText + tag2 + input.value.substr(end);
var pos;
if (insText.length == 0) { pos = start + tag1.length; }
else { pos = start + tag1.length + insText.length + tag2.length; }
input.selectionStart = pos;
input.selectionEnd = pos;
}
else {
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while (!re.test(pos)) { pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0"); }
if (pos > input.value.length) { pos = input.value.length; }
var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
input.value = input.value.substr(0, pos) + tag1 + insText + tag2 + input.value.substr(pos);
}
}


Beispiel: Markierten Text mit <b> und </b> umschließen:

insert_code('textarea_id','<b>','</b>');



Zurück zur Web-Code-Lib