Brauche Hilfe zu BBCodes

Frezl

Erfahrenes Mitglied
Hey allerseits!

Ich möchte für mein phpBB3 einen eigenen bbCode definieren, mit dem mathematische Formeln gerendert werden. Mit phpBB3 ist es ja ganz einfach, eigene Codes zu definieren. Allerdings klappts nicht so, wie ich will :p

Was ich möchte:
Die Auszeichnung
Code:
[math]{TEXT}[/math]
soll eine mit mathdraw gerenderte Formel zurückgeben. Dazu wird sie ersetzt durch
Code:
<img src="http://www.mathdraw.de/md.php?input={TEXT}" alt="{TEXT}" title="{TEXT}" mdsrc="{TEXT}" />
Im Prinzip funktioniert das auch gut. Der input-Parameter wird übergeben und das Bild angezeigt. Leider wird bei der Übergabe der Text anders maskiert, als mathdraw das erwartet. Dadurch wird die Formel falsch formatiert.

Beispiel für f_1(x) = x^3 + 7*x^2 + 8x + 1

Wird in phpBB3 zu: f_1(x)%20=%20x^3%20+%207*x^2%20+%208x%20+%201
Wird auf mathdraw.de zu: f_1%28x%29+%3D+x%5E3+%2B+7%2Ax%5E2+%2B+8x+%2B+1

Wie kann ich in phpBB3 die selbe maskierung erreichen, wie sie in mathdraw verwendet wird? Kennt sich jemand mit phpBB3 aus und kann mir bei meinem Problem helfen? Wäre für etwas Hilfe sehr dankbar!

Gruß und Dank,
Frezl
 
Deine Formel wird in der URL an mathdraw übergeben. Dabei werden die Leerzeichen in deiner Formel zu "%20" konvertiert.
Dh, du müsstest vorher abfangen, ob der User Leerzeichen in seiner Formel verwendet hat und diese dann durch kein Leerzeichen ersetzen.

str replace()

So siehts zumindest in PHP aus. Ich denke mal, das phpBB und PHP kombinierbar sein sollten.

MfG
 
Hey Marschal,

danke für deine Antwort!

Ich denke mal, das phpBB und PHP kombinierbar sein sollten.

Genau das war meine Frage ;-) Ich werd mal schaun, ob das phpBB PHP schluckt unds dann mal mit str_replace versuchen. Aber es scheint so, dass es nicht auf diese einfache Weise kombinierbar ist. Und es sind ja nicht nur die Leerzeichen, die anders kodiert werden...

Grüße,
Frezl
 
Zuletzt bearbeitet:
EDIT: Sorry, ich war der falschen Ansicht, phpBB sei eine Art php basierende Sprache für BB-codes. Aber das ist quatsch. Das ist einfach nur ein CMS und BB-Codes ind nichts anderes wie Interpretierte Zeichenfolgen in Strings.

Also, der auszug dieser Quelle sagt mir:
phpBB ist ein Community-System, das [...] Es basiert auf zwei hervorragenden Komponenten, die schon seit Jahren ihre Einsatztauglichkeit bewiesen haben, nämlich der Web-Programmiersprache PHP und der Datenbank MySQL. Seit phpBB3 werden auch...
Da das nur ein CMS ist, was selbstvertändlich in PHP geschreiben wurde, und auch mit dieser Sprache arbeitet, gibts nix zu "kombienieren". Du untersuchst den Text {TEXT} mit str_replace und fertig.

Liefer doch mal ein Codeschnippsel, dann kann man das besser verdeutlichen.
 
Zuletzt bearbeitet:
Ich will dir nicht zu nahe treten, Marschal, aber du kannst mir bei dem Problem leider nicht weiterhelfen, weil du keine Ahnung von phpBB (was übrigens eine Forensoftware ist) hast :p

Mir gehts weniger um die nötigen PHP-Funktionen, weil ich die im Notfall noch selber find. Was ich wissen will ist, wie ich die Ersetzung mit möglichst wenig Aufwand und hoher Kompatibilität in phpBB integriere. Was ich vermeiden will, ist ein Hack direkt am Core von phpBB, weil ich den beim nächsten Update wieder reinmachen muss, wenn ich die Stelle denn jemals wiederfind :p phpBB selbst bietet in der neuesten Version die Möglichkeit, eigene BBCodes zu definieren, allerdings wird als Ersetzung kein PHP akzeptiert. Der Code wird dann einfach als Text ausgegeben. Sicher ein sinnvoller Sicherheitsmechanismus, aber ich brauch für meine Bedürfnisse halt nen Trick, wie ich den Mechanismus umgehen kann. Eine Möglichkeit könnte JavaScript sein, daran arbeite ich grad... Lieber wärs mir trotzdem, mit PHP arbeiten zu können :p

Viele Grüße,
Frezl
 
Ist den eine Forem software kein Content Managment System für dich?:)

Mit phpBB selbst kenn ich mich nicht aus, da hast du recht. Aber mit php schon.
Meine Idee wäre halt auch leider "nur" ein Eingriff ins System direkt.

Für gewöhnlich bieten CMS's doch die Möglichkeit das System mit Plugins zu erweitern (PHPCode), bietet phpBB nicht auch vergleichbares? (Abgesehen von der Möglichkeit BB-Codes selbst zu definieren).

Mehr kann ich dir da leider auch nicht helfen:) Vllt probierst dus auf der Hersteller Seite mal;)
 
@ZodiacXP: Sein Problem ist ja, wenn ich richtig verstanden Habe, dass er in der Forumsoftware nix verändern möchte.
 
@ZodiacXP: Sein Problem ist ja, wenn ich richtig verstanden Habe, dass er in der Forumsoftware nix verändern möchte.

Deadlock! :D

Oh man, das muss ich überlesen haben.

Wie ein Problem beheben ohne adäquate Problembehebung, Frezl? Wie an ein Huhn kommen ohne Ei? Ohne Änderungen wirds schwer lösbar. Der IMG-Tag aus dem BB-Code könnte hier noch unter Umständen URL-Umwandlungen vollziehen àla [MATH=x^2 +2][/MATH] aber mehr geht da nicht mehr.
 
Wie ein Problem beheben ohne adäquate Problembehebung, Frezl?

Ich bin Einsteiger in phpBB3 und hab daher keine Ahnung, was alles möglich ist. Dass dieser einfache Weg nicht funktioniert, heißt ja net, dass es nicht anders gehen kann. Vielleicht gibt es ja die Möglichkeit, ein Plugin zu schreiben, das diese Aufgabe übernimmt. Aber wie gesagt: Ich hab keine Ahnung und Google hat nichts brauchbares ausgespuckt. Deshalb würd mich über Profi-Tipps freuen.

Der IMG-Tag aus dem BB-Code könnte hier noch unter Umständen URL-Umwandlungen vollziehen àla [MATH=x^2 +2][/MATH] aber mehr geht da nicht mehr.
Wenn ich das Ergebnis, das mein erster Versuch liefert, richtig interpretiere, dann findet irgend eine Art von Umwandlung statt (siehe mein 1. Post). Also gibts da schon nen Mechanismus. Vielleicht gibts ja auch ne Möglichkeit, über Parameter diese Umwandlung zu beeinflussen...

Was ich auf jeden Fall vermeiden will, ist direkt im Quellcode des Boards rumzuspuken. Ein Ansatz, über den ich gerade nachdenke, wäre das ganze per JavaScript zu machen. Aber das ist halt auch eher unschön. Meine Zielgruppe gehört zwar nicht gerade zu den paranoiden JS-Abschaltern, aber sehr performant wär die Lösung wahrscheinlich nicht :p

Viele Grüße,
Frezl
 

Neue Beiträge

Zurück