kostenloses BBCode Script im vBulletin Umfang?

wario

Neuling
Thread Starter
Mitglied seit
03.11.2005
Beiträge
629
Ort
Planet Erde
Hallo.

Ich bin auf der Suche nach einem kostelosen Javascript zum Einfügen
von BBCodes in einer Textarea.

Ich benötige aber leider kein einfaches Script, womit man nur wenige
Tags einfügen kann wie usw. Denn dass könnte ich selbst s...von euch was kostenloses? Besten gruß wario.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das Javascript:

Code:
function insert(aTag, eTag) {
  var input = document.forms['formular'].elements['eingabe'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    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;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}
bei mir wars so, dass des dann in eine MySQL-DB gespeichert wurde... beim Auslesen dann hat ne PHP-Funktion die BBCodes in HTML-Codes umgewandelt... aber die weiss ich grad net ausm Kopf, is awa was ganz einfaches gewesen... kanns dir ja heute abend ma geben, wenn ich daheim bin...
 
Danke Glühwürmchen

aber das ja nur ein Example Script von Selfhtml, wo lediglich erklärt wird,
wie man mit JS Code an einer markierten Stelle in einer Textarea einfügt.
Ich allerdings suche ein sehr viel umfangreicheres Script.

wie PHP die BBCodes zurück wandelt ist auch recht einfach... ich hab das
z.B. so gelöst.
PHP:
function bbcode($text)
{
    $text = stripslashes($text);
    #$text = htmlspecialchars($text);
    $text = preg_replace("/\[B\](.*)\[\/B\]/isU","<b>$1</b>", $text);
    $text = preg_replace("/\[I\](.*)\[\/I\]/isU","<i>$1</i>", $text);
    $text = preg_replace("/\[U\](.*)\[\/U\]/isU","<u>$1</u>", $text);
    $text = preg_replace("/\[quote\](.*)\[\/quote\]/isU","\"$1\"", $text);
    $text = preg_replace("/\[INDENT\](.*)\[\/INDENT\]/isU","<blockquote><p>$1</p></blockquote>", $text);
    $text = preg_replace("/\[left\](.*)\[\/left\]/isU","<p align='left'>$1</p>", $text);
    $text = preg_replace("/\[right\](.*)\[\/right\]/isU","<p align='right'>$1</p>", $text);
    $text = preg_replace("/\[CENTER\](.*?)\[\/CENTER\]/isU","<center>$1</center>", $text);
    $text = preg_replace("/\[url=(.*)\](.*)\[\/URL\]/isU", "<a href=$1 target=\"_blank\">$2</a>", $text);
    $text = preg_replace("/\[URL\](.*)\[\/URL\]/isU", "<a href=$1 target=\"_blank\">$1</a>", $text);
    $text = preg_replace("/\[urli=(.*)\](.*)\[\/URLI\]/isU", "<a href=$1 target=\"_blank\">$2</a>", $text);
    $text = preg_replace("/\[URLI\](.*)\[\/URLI\]/isU", "<a href=$1>$1</a>", $text);
    $text = preg_replace("/\[email=(.*)\](.*)\[\/email\]/isU", "<a href=mailto:$1>$2</a>", $text);
    $text = preg_replace("/\[EMAIL\](.*)\[\/EMAIL\]/isU", "<a href=mailto:$1>$1</a>", $text);
    #$text = preg_replace("/\[url=(.*)\](.*)\[\/URL\]/isU", "<a href=\"$1\" target=\"_blank\">$2</a>", $text);
    #$text = preg_replace("/\[URL\](.*)\[\/URL\]/isU", "<a href=\"$1\" target=\"_blank\">$1</a>", $text);
    #$text = preg_replace("/\[email=(.*)\](.*)\[\/email\]/isU", "<a href=\"mailto:$1\">$2</a>", $text);
    #$text = preg_replace("/\[EMAIL\](.*)\[\/EMAIL\]/isU", "<a href=\"mailto:$1\">$1</a>", $text);
    $text = preg_replace("/\[img\](.*)\[\/img\]/isU", "<img src=\"$1\" />", $text);
    $text = preg_replace("/\[code\](.*)\[\/code\]/isU", "<pre>$1</pre>", $text);
    $text = eregi_replace("\\[color=([^\\[]*)\\]([^\\[]*)\\[\/color\\]","<font color=\\1>\\2</font>",$text);
    $text = eregi_replace("\\[font=([^\\[]*)\\]([^\\[]*)\\[\/font\\]","<font face=\\1>\\2</font>",$text);
    $text = eregi_replace("\\[size=([^\\[]*)\\]([^\\[]*)\\[\/size\\]","<font size=\\1>\\2</font>",$text);
    #$text = preg_replace("/\[COLOR=(.*)\](.*)\[\/COLOR\]/isU", "<font color=\"$1\">$2</font>", $text);
    #$text = preg_replace("/\[SIZE=(.*)\](.*)\[\/SIZE\]/isU", "<font size=\"$1\">$2</font>", $text);
    #$text = preg_replace("/\[font=(.*)\](.*)\[\/FONT\]/isU", "<font face=\"$1\">$2</font>", $text);
    $text = preg_replace("/\[list=(.*)\](.*)\[\/LIST\]/isU", "<ol start=\"1\" type=\"$1\">$2</ol>", $text);
    $text = preg_replace("/\[list\](.*)\](.*)\[\/LIST\]/isU", "<ul><li>$2</ul>", $text);
    $text = preg_replace("/\[\*\](.*)/isU", "<li>$1", $text);
    $text = nl2br($text);
    return $text;
}
 
also ICH habs net von Selfhtml genommen, sondern aus einem meiner Projekte, die ich zusammen mit nem Kumpel gemacht habe... bzw. er hatte es damals eingebaut.

@wario:
right... genauso sieht unser skript auch aus, was des wieder zurückwandelt...
 
Also ich habe mich nun nach laaangem laaangem suchen zur Verwendung des TinyMCE entschieden.

Dieser benutzt zwar keinen Bullet Board Code, dafür lässt er aber alle von mir gewünschten
Formatierungsmöglichkeiten zu. Und bietet sogar noch deutlich mehr. Zudem funktioniert er
auf allen von mir gestesteten Browsern einwandfrei, und das beste ist seine freie Nutzung durch die LGPL.

Zuvor hatte ich schon einmal den FCKeditor versucht, aber der funktionierte leider nicht in
allen Browsern fehlerfrei. Alle sonsigen BBCode Scripte, und ich habe wirklich viele getestet und bearbeitet,
waren auch alle mehr als unzureichend.
 
beim Opera und Safari, leider muss er auch unter safari funktionieren. Ob ich will oder nicht :)
 
Versuch TinyMCE.

Und für BBCode-PHP: christian-seiler.de

Hf, Yada
 

Ähnliche Themen

Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh