tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
293
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    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 :
    1
    
    [math]{TEXT}[/math]
    soll eine mit mathdraw gerenderte Formel zurückgeben. Dazu wird sie ersetzt durch
    Code :
    1
    
    <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
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

  2. #2
    Avatar von Marschal
    Marschal Marschal ist offline Großer Enumerator
    Registriert seit
    May 2008
    Ort
    Lohfelden (bei Kassel)
    Beiträge
    363
    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
     


    " Gehirn: ein Organ, mit dem wir denken, daß wir denken. "
    Ambrose Bierce

  3. #3
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    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
    Geändert von Frezl (05.07.10 um 12:25 Uhr)
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

  4. #4
    Avatar von Marschal
    Marschal Marschal ist offline Großer Enumerator
    Registriert seit
    May 2008
    Ort
    Lohfelden (bei Kassel)
    Beiträge
    363
    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.
    Geändert von Marschal (05.07.10 um 15:35 Uhr)
     


    " Gehirn: ein Organ, mit dem wir denken, daß wir denken. "
    Ambrose Bierce

  5. #5
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    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
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

  6. #6
    Avatar von Marschal
    Marschal Marschal ist offline Großer Enumerator
    Registriert seit
    May 2008
    Ort
    Lohfelden (bei Kassel)
    Beiträge
    363
    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
     


    " Gehirn: ein Organ, mit dem wir denken, daß wir denken. "
    Ambrose Bierce

  7. #7
    Registriert seit
    Mar 2004
    Beiträge
    1.854
    Blog-Einträge
    2
    Zitat Zitat von Frezl Beitrag anzeigen
    Code :
    1
    
    <img src="http://www.mathdraw.de/md.php?input={TEXT}" alt="{TEXT}" title="{TEXT}" mdsrc="{TEXT}" />
    Du musst hier irgendwie ein urlencode noch reinkriegen für {TEXT} bei "[...]?input={TEXT}[...]", dies dürfte alle Zeichen in "URL-Fähige" umwandeln.

    Hierzu passt der folgende Hinweis:
    http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2
    Geändert von ZodiacXP (05.07.10 um 19:46 Uhr)
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  8. #8
    Avatar von Marschal
    Marschal Marschal ist offline Großer Enumerator
    Registriert seit
    May 2008
    Ort
    Lohfelden (bei Kassel)
    Beiträge
    363
    @ZodiacXP: Sein Problem ist ja, wenn ich richtig verstanden Habe, dass er in der Forumsoftware nix verändern möchte.
     


    " Gehirn: ein Organ, mit dem wir denken, daß wir denken. "
    Ambrose Bierce

  9. #9
    Registriert seit
    Mar 2004
    Beiträge
    1.854
    Blog-Einträge
    2
    Zitat Zitat von Marschal Beitrag anzeigen
    @ZodiacXP: Sein Problem ist ja, wenn ich richtig verstanden Habe, dass er in der Forumsoftware nix verändern möchte.
    Deadlock!

    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.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  10. #10
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    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
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

  11. #11
    Registriert seit
    Mar 2004
    Beiträge
    1.854
    Blog-Einträge
    2
    Und da ist es wieder Die Lösung und das Argument was die Lösung aufhebt:

    Zitat Zitat von Frezl Beitrag anzeigen
    Vielleicht gibt es ja die Möglichkeit, ein Plugin zu schreiben, das diese Aufgabe übernimmt.
    Zitat Zitat von Frezl Beitrag anzeigen
    Was ich auf jeden Fall vermeiden will, ist direkt im Quellcode des Boards rumzuspuken.
    Wo du was genau Einstellen und Ändern kannst / musst wird dir bestimmt im "Fachforum" gesagt, welches sich speziell mit phpBB bzw. dessen BB-Codes auseinander setzt. Da hier eher Leute für die allgemeinen Probleme sind kann eine solch spezifische Antwort etwas dauern.
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  12. #12
    Avatar von Frezl
    Frezl Frezl ist offline Mitglied Brokat
    Registriert seit
    Oct 2003
    Beiträge
    473
    Die Lösung und das Argument was die Lösung aufhebt:
    *?*

    Der Unterschied zwischen nem Hack und nem Plugin ist, dass das Plugin vorhandene Schnittstellen eines Systems benutzt, die für eben diesen Zweck geschaffen wurden. Damit muss man dann im allgemeinen auch nicht fürchten, dass man damit
    1. bei dem Update alles neu machen muss,
    2. Sicherheitslücken auftut,
    oder gar
    3. das System zerstört.

    Solche Schnittstellen such ich.

    Aber du hast recht, ich werd mich lieber mal an ein Fachforum wenden, bevor das hier in Glaskugelei ausartet

    Vielen Dank fürs rege Posten!
    Grüße,
    Frezl
     
    Wenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 13.01.09, 20:12
  2. Für CMS: BBCodes oder Wiki-BBCodes?
    Von Kalma im Forum Coders Talk
    Antworten: 5
    Letzter Beitrag: 07.11.07, 14:09
  3. Antworten: 0
    Letzter Beitrag: 07.08.07, 18:12
  4. Antworten: 8
    Letzter Beitrag: 14.06.04, 10:37
  5. [HILFE] Brauche dringend Hilfe zum Thema $_SESSION
    Von grashnaknieswurz im Forum PHP
    Antworten: 1
    Letzter Beitrag: 19.02.04, 14:48

Stichworte