• Hallo Leute,
    wie kann ich BBCode benutzen? Wie mache ich das?
    Also ich bin mir schon im Klaren über das System:
    Formular:

    Code
    Eintragen von Text mit
    [i] [/i], [u] [/u], [b] [/b]


    Parser

    Code
    "Umwandlung von
    [u] [/u] => <u> </u>
    ...


    Und hier sind meine Fragen:
    1. Wie mache ich, dass das per Klick eingetragen wird?
    2. Wie mache den Parser?


    Mit freundlichen Grüßen,
    Philipp Escher

  • 1. Da gibt es ein JavaScript-Skript auf selfhtml zu (Müsste dieser Artikel hier sein: http://aktuell.de.selfhtml.org/artikel/javascript/bbcode, der funktionierd bei mir nur gerade nicht.
    Ich hab dir den Code mal aus meinem Gästebuch kopiert: (in der zweiten Zeile musst du formular-name und textarea-name durch deine Namen ersetzen)


    Genutzt wird das dann, indem du einfach bei einem Button als onclick-Event die bbcode-Funktion aufrufst. Z.B.:

    Code
    <input type="button" value="Fett" onclick=('[b]', '[/b]')" />


    2. Zuerst lässt du alle deine Sicherheitsfunktionen über den Text laufen (um normale HTML-Tags zu entfernen) und dann, z.B. bei der Ausgabe des Eintrags, ersetzt du mit regulären Ausdrucken die bbcode-Tags durch die entsprechenden HTML-Tags.
    Solltest du noch nie mit regulären Ausdrücken gearbeitet haben, kann ich dir auch einen Ansatz posten.

  • Kannst du eigentlich JavaScript, Philipp?


    Es geht nicht, weil Sören ausversehen etwas vergessen hat :) Richtig müsste es so heißen:

    Code
    <input type="button" value="Fett" onclick="bbcode('[b]', '[/b]')" />

    Dies kann man übrigens auch jedem anderen HTML-Element geben :)

  • So ich hab mir jetzt selber mal ein wenig Mühe gemacht: :D

    Code
    <script type="text/javascript" language="javascript">
    function bold()
    {
    text = "[b][/b]";
    document.formular.textarea.value += text;
    }
    </script>


    Code
    <img alt="fett" src="../png/icons/text_bold.png" onclick="bold()" />


    Das funktioniert und ist simpel. Den ersten Schritt habe ich also geschafft.
    Und so sieht es momentan aus:
    [attachment=0]<!-- ia0 -->Unbenannt.PNG<!-- ia0 -->[/attachment]

  • Um jetzt zum Beispiel ... gegen <span class="bold">...</span> zu ersetzen, habe ich folgenden Code:

    Code
    $content = preg_replace("/\[b\](.*)\[\/b\]/Usi", "<span class='b'>\\1</span>", $content);
    $content = preg_replace("/\[i\](.*)\[\/i\]/Usi", "<span class='i'>\\1</span>", $content);
    $content = preg_replace("/\[u\](.*)\[\/u\]/Usi", "<span class='u'>\\1</span>", $content);
    $content = preg_replace("/\[center\](.*)\[\/center\]/Usi", "<span class='center'>\\1</span>", $content);


    Wie kann ich <ul><li></li>...</ul> umsetzen?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!