Parse bbcode
|
|
Rolly8-HL |
Geschrieben am 19. Juli 2017 08:32:26
|
|
Hallo, habe da mal eine Frage zu Parse bbcode. Ich möchte den BBCode code benutzen mit einem Inhalt von einem BBCode. Das soll bedeuten das der BBCode den ich darstellen möchte auch in Reinschrift ausgegeben werden soll, also mit BBCode Anfang & Ende. Nur in der Ausgabe im BBCode code erscheint der BBCode durch function parseubb jetzt geparst, also ohne den BBCode Anfang & Ende. Wie kann man das abstellen, denn wenn ich etwas darstellen will und es wird anders dargestellt dann hat das kein Zweck es so zu nutzen. Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Krelli |
Geschrieben am 20. Juli 2017 20:06:49
|
|
Du bräuchtest einen neuen BB Code, der erstens an erster Stelle steht und zweitens dafür sorgt, dass die Schleife in parseubb sofort im Anschluss verlassen wird, um keine weiteren Replaces zu durchlaufen |
Information: |
PHP Version: 8.2.x • MySQL Version: Nicht ausgewählt • PHP-Fusion: IPv9-DE-MOD |
|
|
Rolly8-HL |
Geschrieben am 21. Juli 2017 05:44:23
|
|
Das habe ich jetzt nicht ganz verstanden, was für eine BBC den noch? Dafür ist doch schon die !autolink_bbcode_include für Zuständig. Code Download Code function bbcode_off($text, $part) { } function autolink_callbackPostCode($matches) { return ' Code Download Code '.bbcode_off($matches[1], 2).' } [/code] Hab festgestellt das damit dieses Problem bei mir mit behoben ist wenn es sich um den BBC code handelt. Nur mit geshi geht es trotzdem nicht auch wenn es dort drin steht. Code Download Code function autolink_callbackPreGeshi($matches) { Ps. Nachtrag: Wie man sehen kann bringt selbst auf dieser Seite das alles durcheinander und der Inhalt der BBC code kann nicht richtig dargestellt werden. Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Krelli |
Geschrieben am 22. Juli 2017 15:03:46
|
|
Ich hab das doch richtig verstanden: Du suchst nach einer Möglichkeit, anderen zu zeigen was sie unter Verwendung von BB-Codes eintippen müssen? So dass also die BB-Codes nicht umgewandelt sondern so gezeigt werden wie derjenige sie eingeben muss? Dein Code aus der !autolink ist schon mal im Ansatz nicht verkehrt. Darin sind genau die Elemente vorhanden die du brauchst: Code Download Code $text = str_replace("[", " [", $text); Wenn du nun vorhast, für diese Funktionalität einen neuen BBC (z.B. "bbdemo") zu erstellen, lässt du damit einfach alle eckigen Klammern des enthaltenen Strings umwandeln. Da auf diese Weise Code Download Code [ geshi=php] <?php phpinfo(); ?>[ /geshi] Code Download Code &# 91;geshi=php] <?php phpinfo(); ?>&# 91;/geshi&# 93; Um zu verhindern dass ein anderer BBC bereits Umwandlungen vorgenommen hat, muss dein neuer BBC vor allen anderen in der Liste stehen, nur !autolink darf davor sein (sollte es sogar unbedingt, wenn du direkt auf die Funktion "bbcodeoff()" aus dem !autolink-Script zurückgreifen willst). Alternative: Stelle es einfach so dar wie ich in diesem Beitrag und weise den Betrachter darauf hin, dass die Leerzeichen in den eckigen Klammern entfernt werden müssen ;) |
Information: |
PHP Version: 8.2.x • MySQL Version: Nicht ausgewählt • PHP-Fusion: IPv9-DE-MOD |
|
|
Rolly8-HL |
Geschrieben am 22. Juli 2017 15:35:01
|
|
Zitat und weise den Betrachter darauf hin, dass die Leerzeichen in den eckigen Klammern entfernt werden müssen NÖ auf keinen Fall, dann verzichte ich lieber auf alles und hänge die Datei einfach an. Aber das andere werde ich mir noch mal richtig durch den Kopf gehen lassen. Nur wird es etwas schlecht sein es als Download Text Datei wenn in der DB etwas anderes steht wie das was ich als Ausgabe sehen kann. Die Ausgabe sehen, markieren Kopieren oder als **.txt sollte dann schon beides Identisch sein genau so wie ich es eingetragen habe. Erste ein mal besten Dank, werde es versuchen umzusetzen. Zusammengefügt am 22. Juli 2017 um 19:04:37: Nachtrag: Es geht ja mit dem BBC code solange er sich selbst nicht wiederfindet. So wie im angehängten Text es im BBC code zu setzen ist schon nicht mehr Möglich.
Rolly8-HL hat folgende Datei angehängt:
Bearbeitet von Rolly8-HL am 22. Juli 2017 17:07:50 Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Krelli |
Geschrieben am 24. Juli 2017 08:05:19
|
|
Wie gesagt, du könntest für diesen Zweck einen eigenen BB-Code neu anlegen, den du dann ganz an den Anfang auf 1. oder 2. Position legst. Im Prinzip ist das ganz einfach und geht recht schnell. Nehmen wir an dein neuer BB-Code soll "showbb" heißen. Du legst folgende 3 neue Dateien an. includes/bbcodes/showbb_bbcode_include_var.php: Code Download Code <?php includes/bbcodes/showbb_bbcode_include.php: Code Download Code <?php locale/German/bbcodes/showbb.php: Code Download Code <?php Das sollte sowohl unter v7 als auch unter v9 funktionieren. Bei v9 müsste man für den BB-Button noch ein Bild hinterlegen, sonst erscheint nur ein Knopf neben den anderen BB-Grafiken. Bearbeitet von Krelli am 24. Juli 2017 18:58:57 |
Information: |
PHP Version: 8.2.x • MySQL Version: Nicht ausgewählt • PHP-Fusion: IPv9-DE-MOD |
|
|
Rolly8-HL |
Geschrieben am 24. Juli 2017 10:34:44
|
|
Hallo, ja habe es verstanden und umgesetzt. Das wäre jetzt ein Spezial BBC für Entwickler oder User die damit umgehen können. Habe noch nicht alles getestet, sieht aber so aus als wäre es das richtige. Besten Dank. Zusammengefügt am 24. Juli 2017 um 12:51:54: Nachtrag: Geht doch nicht, jetzt wird jeder BBC welcher auch immer ausgeblendet. Damit kann kein anderer BBC mehr genutzt werden wofür er vorgesehen ist als Einzel BBC. Bearbeitet von Rolly8-HL am 24. Juli 2017 10:51:54 Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Krelli |
Geschrieben am 24. Juli 2017 18:57:17
|
|
Hab dir in meinem Beitrag die showbb_bbcode_include.php nochmal überarbeitet. |
Information: |
PHP Version: 8.2.x • MySQL Version: Nicht ausgewählt • PHP-Fusion: IPv9-DE-MOD |
|
|
Rolly8-HL |
Geschrieben am 25. Juli 2017 07:16:20
|
|
Ja, sieht vielversprechend aus, werde es mal in Ruhe durchtesteten. Habe aber das nl2br dort weg genommen, ist sonst in der Ausgabe zu hoch. Jetzt suche ich noch die Möglichkeit es mit mit save als Text Datei zu laden. Das könnte dann als Bereicherung für die BBC sein. Gruß Rolly8-HL
Was für Andere Wichtig ist muss für mich nicht genauso Wichtig sein! Bin Dickkopf Unbelehrbar mache aus Protest nicht das was andere für Richtig halten! Das gibt einem zu Denken oder? |
Information: |
PHP Version: Nicht ausgewählt • MySQL Version: Nicht ausgewählt • PHP-Fusion: Nicht ausgewählt |
|
|
Krelli |
Geschrieben am 25. Juli 2017 13:25:20
|
|
nl2br macht aber nur dann einen Zeilenumbruch, wenn er in der Eingabe so gesetzt wurde, also gewollt ist. Save ist relativ einfach, muss nur wieder eckige Klammern haben |
Information: |
PHP Version: 8.2.x • MySQL Version: Nicht ausgewählt • PHP-Fusion: IPv9-DE-MOD |
|
Springe ins Forum: |