Neo: suche: BB-Code "tag-closer" für Javascript und PHP

Hi,

vielleicht kennt jemand schon halbwegs fertige Lösungen für das alte Problem: Da baut man alles schön W3C-konform und dann kommen die User und verhunzen alles wieder über ihre (in dem Fall per BB-Code, bekannt aus div. Foren ;) ) formatierten Eingaben. ;)

Ich bräuchte daher ein Script, welches geöffnete Tags (sogesehen Nodes) wieder schließt, optimalerweise in eine sinnvolle Reihenfolge bringt und herrenlose "End-Tags" killt.
Das ganze optimalerweise in Javascript (sollte z.B. während dem Schreiben in eine textarea hinter geöffnete Tags gleich die schließenden einsetzen und den "Cursor" dazwischen positionieren, falls das möglich ist) und nochmal in PHP (für den Fall dass ein User die schönen per Javascript produzierten Ergebnisse vor dem Submit noch verhunzt)

Der BB-Code den ich benutze ist dabei recht einfach, also nur [foo][/foo] und [foo=bar][/foo]

Achja, bevor jemand fragt warum um Himmels Willen BB-Code (was schon öfters vorgekommen ist): Abseits von höherer Sicherheit z.B. gegen Javascript-Injecting trau ich meinen User einfach nicht zu, z.B. für Schriftfarbe <span style="color:#ffffff"> zu schreiben, aber [color=#ffffff] haben bis jetzt noch alle kapiert ;)

  1. Moin!

    Der BB-Code den ich benutze ist dabei recht einfach, also nur [foo][/foo] und [foo=bar][/foo]

    Du solltest dir mal die PHP-Klasse für BBCode von Christian Seiler angucken. Die erledigt das, was du vorhast, wahrscheinlich schon automatisch. Bzw.: Nicht geschlossene Tags, die geschlossen werden müssen, werden einfach nicht konvertiert (was man in einer möglichen Vorschau, die du ja anzeigen lassen kannst, sehen würde.

    http://www.christian-seiler.de/projekte/php/bbcode/

    Javascript kannst du vergessen. Du kannst den Cursor nicht positionieren, und ganz allgemein gesprochen ist Javascript keine Sprache, mit der man in einer Textarea einen Editor aufmotzen kann - dafür sind die Zugriffsmöglichkeiten einfach zu begrenzt (nämlich nur auf den Textinhalt komplett).

    - Sven Rautenberg

    --
    Die SelfHTML-Developer sagen Dankeschön für aktuell 17573,88 Euro Spendengelder!
    1. Hallo Sven,

      Javascript kannst du vergessen.

      Nein. ;-)

      Du kannst den Cursor nicht positionieren,

      Doch. ;-)

      und ganz allgemein gesprochen ist Javascript keine Sprache, mit der man in einer Textarea einen Editor aufmotzen kann

      Doch, zumindest teilweise. ;-)

      • dafür sind die Zugriffsmöglichkeiten einfach zu begrenzt (nämlich nur auf den Textinhalt komplett).

      Falsch. ;-)

      http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=selectionStart&case=on&lang=on&feld=alle&index_5=on&hits=100

      Viele Grüße,
      Christian