JavaScript - BBCode in einem Textarea einfügen

Wörter im Text markieren oder die Einfügemarke an eine bestimmte Position setzen, dann den Button betätigen.


<script>

function 
bbcode() {
 var 
field document.getElementById("message");
 var 
bb prompt("BBCode eingeben: b, i, s, q""b");

 if (
document.getSelection) {
  var 
startPos field.selectionStart;
  var 
endPos field.selectionEnd;
  var 
txt field.value.substring(startPosendPos);

  if (
txt != "") {
   var 
cp = `[${bb}]${txt}[/${bb}]`;
   
field.value field.value.substring(0startPos) + cp +
    
field.value.substring(endPosfield.length);
  }
  else {
   var 
cp = `[${bb}][/${bb}`;
   
field.value field.value.substring(0startPos) + cp +
    
field.value.substring(endPosfield.length);
  }
 }
}
</
script>

<
textarea id="message" rows="12" cols="55" spellcheck="false">
Weit hintenhinter den Wortbergenfern der Länder Vokalien und Konsonantien leben die Blindtexte.

Abgeschieden wohnen Sie in Buchstabhausen an der Küste des Semantikeines großen Sprachozeans
Ein kleines Bächlein namens Duden fließt durch ihren Ort und versorgt sie mit den nötigen Regelialien

Es ist ein paradiesmatisches Landin dem einem gebratene Satzteile in den Mund fliegen.
</
textarea>

<
p><input type="button" value="BBCode einfügen" onClick="bbcode()"></p>

Siehe auch: Zeilen, Wörter und Zeichen in einem Textarea zählen und
Einfügemarke im Textarea bewegen

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<bdo> Textrichtung

CSS - Pop-up-Bucheffekt

PHP - Mit filter_input Zahlenwerte überprüfen

JavaScript - Prüfen, ob die Funktion vor dem Aufruf vorhanden ist

MySQL - Die Differenz zweier Uhrzeiten ermitteln