Seite 1 von 1
phpbb-code ohne uid parsen
Verfasst: 15.04.2006 17:04
von meisteralex
Hi Leute, ich verwende die funktion bbencode_second_pass vom phpbbcode in einem meiner projekte um bbcode zu verwenden
die funktion verlangt nun eine uid, welche ich jedoch in meinem projekt nicht benutzen will
ich will statt [b:uid]fett[/b:uid] einfach fett schreiben können
hat jemand ne idee ? oder gibt nen parameter die phpbb funktionen ohne die uid nutzen zu können ?
Verfasst: 15.04.2006 18:55
von fanrpg
Nehm doch einfach eine feste die muss nicht variabel sein,
geht auch ohne Probleme.
Verfasst: 15.04.2006 20:28
von Dennis63
Die phpBB-BB-Code-Funktion geht nur MIT UID. Der Grund ist ganz einfach. Was machst Du, wenn jemand Fett Schreibt? Hier mußt Du sicherstellen, daß nur das eine mal das in <b> umgewandelt wird, damit nachher auch wirklich nur Fett rauskommt und nicht nach dem Fett alles weiterhin Fett geschrieben wirdl.
Und dafür fügt das phpBB die BB-Code-UID an. Beim Posten wird die CPU-Lastige Prüfung welches der BB-Codes wirklich später umgewandelt wird einmalig durchgeführt.
Nachher beim Betrachten des Postings muss diese Komplete Aufgabe nicht mehr durchgeführt werden.
Wenn Du das phpBB-System nuten möchtest, kannst Du die Klasse aber auch benutzen um eine UID zu erzeugen. Ich habe lange nicht mehr mit der BB-Code-Klasse zu tun gehabt, aber schau Dir mal mal bbencode_first_pass() genauer an. Der Klasse kannst Du auch eine Feste UID Übergeben. Prinzipiell ist das egal, nur können dann User, die diese UID Kennen, das System überlisten.
Es gibt aber auch freie BB-Code-Klassen, die ohne UID Arbeiten.
Grüße
Dennis
Verfasst: 16.04.2006 16:47
von meisteralex
also ich wollte mich so nah wie möglich am phpbb-code bewegen.
wäre jemand so nett mir den genauen ablauf (sowohl beim encoden , also beim posten und bei decoden also beim viewen) mal anzugeben ?
wie wandel ich den text in den text mit uid's , wie wandel ich ihn wieder zurück (z.b. beim editieren) und wie wird er interpretier (beim anzeigen)
vielen dank!
Verfasst: 16.04.2006 20:17
von Pyramide
Code: Alles auswählen
$uid = make_bbcode_uid();
$message = bbencode_first_pass($message, $uid);
$message = bbencode_second_pass($message, $uid);
Das ist die einfachste Variante
Verfasst: 17.04.2006 20:27
von meisteralex
und wie bekomm ich die bbcode tags wieder clean, wenn ich z.b. editieren will ?
also wie wird aus [b:uid]fetter text[/b:uid] wider fetter text
????
Verfasst: 17.04.2006 20:35
von Pyramide
Ist es in dem Fall ja schon.