AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Suche BBCode-Klasse für PHP

Ein Thema von Matze · begonnen am 10. Mär 2010 · letzter Beitrag vom 11. Mär 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#1

Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 13:55
Hi zusammen,

könnt ihr mir eine BBCode-Klasse für PHP empfehlen?
Bisher nutzte ich etwas eigenes, aber eine gute Klasse ermöglicht neben dem Parsen das einfache Hinzufügen weiterer BBCodes mit Callback-Funktionen, Validierung etc.

Diese Klasse kann alles, was ich gerne hätte, aber der PHP-Code ist grauenhaft. Schlimmer geht's kaum.
Vielleicht hat jemand von euch einen Geheimtipp.

Grüße, Matze

Edit: Tippfehler im Titel beseitigt.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: Suche BBCode-Klassefür PHP

  Alt 10. Mär 2010, 14:03
Ich würde allgemein den TinyMCE vorschlagen Ist zwar keine direkte Antwort auf deine Frage, aber der macht das leben viel einfacher und man braucht eigentlich nichts mehr zu parsen.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Suche BBCode-Klassefür PHP

  Alt 10. Mär 2010, 14:09
Nein, wer länger mit TinyMCE arbeitet merkt, wie schlecht es ist. Nach dem Motto: Außen hui, innen pfui.
Ich möchte darüber nicht diskutieren, aber wer auf erweiterbaren und zukunftssicheren Code wert legt, für den ist TinyMCE die einzige Katastrophe.

Ich möchte nach wie vor einen BBCode-Parser.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#4

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 14:14
Hallo,

ich kenne deine PHP Kenntnisse nicht Matze, aber aus eigener Erfahrung kann ich sagen, dass das Parsen von BB-Code nicht wirklich schwer ist. Daraus eine erweiterbare Klasse zu schreiben ist auch kein großes Ding mehr. Wie hast du deine BB-Codes denn bisher geparst? Mit Regular Expressions gehts das ganz wunderbar. Und wenn dein System die Daten cached wie es sich gehört, dann stört die Geschwindigkeit auch nicht mehr.

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 14:20
Hallo Valle,

ja, ich nutzte reguläre Ausdrücke. Das Parsen selbst ist auch nicht das Problem. Ich zeige dir mal ein Beispiel, was die verlinkte Klasse kann:

Code:
$bcode->addCode('new_tag', 'usecontent?', 'do_bbcode_tag', array(), 'inline', array('listitem', 'block', 'inline'), array ());
Ganz grob, was man da einstellen kann:

Den BBCode-Tag, wie geparst werden soll (eingeschlossene BBCodes parsern), wie der BBCode aufgebaut ist ([tag][/tag] und/oder [tag=...][/tag]), eine Callback-Funktion fürs Ersetzen. Der Typ muss angegeben werden (block, inline, ...) und dann kann festgelegt werden, welcher Code in welchem enthalten sein darf (block in inline, ...).

Das gefällt mir wirklich gut. Nur das alles umzusetzen ist schon aufwändiger.
Ich Cache alles. Meine Website funktioniert daher selbst ohne Verbindung zur Datenbank halbwegs. *g* Dennoch sollten BBCodes leicht zu verwalten sein.

Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#6

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 14:38
Mh okay, ich kann ja auch verstehen dass man da keine Lust zu hat. Ich bin da eher so neugierig wie das alles geht, dass ich meist direkt alles selbst implementiere. Aber man soll das Rad ja nicht neu erfinden, stimmt schon.

Ich habe mal eine Zeit lang mit dem Zend Framework gearbeitet. Die haben eine sehr gute Umsetzung ihrer Klassen und bieten eine richtig durchdachte OOP Struktur. Es gibt in diesem Framework eine Klasse namens Zend_Markup die auch BB-Code zu unterstützen scheint. Benutzt habe ich das ganze noch nie, bisher kann ich vom ZF aber einiges Positives behaupten. Vielleicht möchhtest du dir das mal anschauen?

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 14:44
Normalerweise sehe ich es wie du. Ich habe nur keine Woche Zeit, so eine umfangreiche Klasse zu schreiben.

Ein ganzes Framework für die eher "simple" Aufgabe zu nutzen, halte ich jedoch dann doch für leicht übertrieben. Das wäre etwas anderes, wenn ich Zend sowieso einsetzen würde.

Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#8

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 20:20
Zitat von Matze:
Ein ganzes Framework für die eher "simple" Aufgabe zu nutzen, halte ich jedoch dann doch für leicht übertrieben. Das wäre etwas anderes, wenn ich Zend sowieso einsetzen würde.
Zend hat die tolle Eigenschaft, dass die Komponenten nicht alle voneinander abhängig sind.
Man kann das Zend_Markup (evtl. mit 1-2 anderen Klassen) einfach extrahieren.

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 20:40
Zitat von Valle:
Wie hast du deine BB-Codes denn bisher geparst? Mit Regular Expressions gehts das ganz wunderbar.
Es ist keine gute Idee, verschachtelte Strukturen mit Regex zu parsen. Genauer gesagt ist es technisch gar nicht möglich, solange man nicht auf erweiterte Konstrukte mit Zählern o.ä. zurückgreift. Stattdessen handelt man sich eine Menge Fehlerquellen und ggf. Sicherheitslücken ein. Dann lieber einen spezialisierten Parser verwenden, oder selbst einen schreiben.

Kennen tu ich keinen fertigen. Hast du die üblichen Verdächtigen wie phpclasses.org, PEAR und Co. schon durchsucht?
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Suche BBCode-Klasse für PHP

  Alt 10. Mär 2010, 21:13
@Valle: Hm ok, aber ein Framework möchte ich dennoch nicht nutzen.
@Philip: Ja, habe ich. Ich würde mich auch mit einem brauchbaren Grundgerüst zufrieden geben, das mir einen geparsten Baum erstellt und auch die Möglichkeit bietet, BBCodes innerhalb bestimmter Tags auszuschließen (innerhalb von [code] nichts parsen bsp.).
Das hat mit den regulären Ausdrücken und der Verschachtelung bei mir nur bedingt funktioniert. Vielleicht genau aus dem Grund, den du genannt hast (dass es nicht geht).
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz