Fehler beim Syntaxhighlighting
-
Demo:
for(int i =0; i < 10; ++i) foo = 0;
[i]kursiv
Den Fehler, dass die Tags innerhalb des Codeblocks fälschlich erkannt werden, kann ich ja noch nachvollziehen, aber es wäre cool, wenn mir jemand die Herkunft des ":XXXXXXXXXX" (anscheinend ist die Zahl vom Inhalt des Beitrags abhängig und ich habe keine Lust, hier ein Quine zu suchen ) erklären kann.
-
SeppJ schrieb:
..., aber es wäre cool, wenn mir jemand die Herkunft des ":XXXXXXXXXX" (anscheinend ist die Zahl vom Inhalt des Beitrags abhängig und ich habe keine Lust, hier ein Quine zu suchen ) erklären kann.
PhpBB2 hat "coole" Optimierungen drin. Jedes BBCode-Tag wird vor dem Speichern in der DB mit einer Tag-ID versehen, welche pro Beitrag vergeben wird. Die Idee dahinter ist, dass die BBCode-Erkennung einmal durchgeführt werden muss, nämlich wenn der Beitrag in die DB gespeichert wird. Danach kann mit einem
str_replace
gearbeitet werden und entsprechend die erkannten Tags nur mit HTML Code ersetzen. Damit sind keine Regex bei der Ausgabe nötig. Auch können so später neue Tags eingeführt werden, welche in alten Beiträgen keine Probleme verursachen.Die Idee ist zwar nett, aber leider auch nicht so ganz vollständig durchgedacht. Zudem hat man durch eigene Erweiterungen der BBCode-Tags in diesem Forum sich zum Teil nicht an diese Tag-ID Sache gehalten, wodurch wir schon seit längerem ein schönes Mischmasch haben.
Der Bug hier ist allerdings tatsächlich, dass diese ID sichtbar ist. Eigentlich sollte diese beim Syntax-Highlighting entfernt werden.
-
#NächsteGeneration
PS: @SeppJ, Ich hoffe den Code hast du nicht selber verfasst, oder?
-
Arcoth schrieb:
PS: @SeppJ, Ich hoffe den Code hast du nicht selber verfasst, oder?
Es handelt sich um ein reduziertes Minimalbeispiel zu einem Beitrag, den ich so im C++-Forum gesehen habe. Warum fragst du?
-
SeppJ schrieb:
Arcoth schrieb:
PS: @SeppJ, Ich hoffe den Code hast du nicht selber verfasst, oder?
Es handelt sich um ein reduziertes Minimalbeispiel zu einem Beitrag, den ich so im C++-Forum gesehen habe. Warum fragst du?
Na weils viel effizienter geht?
Edit: Wobei, vielleicht greift da gar ein Optimizer.
-
Ich habe mal einen sehr einfachen Fix eingebaut.
-
Dravere schrieb:
Ich habe mal einen sehr einfachen Fix eingebaut.
Mein Hauptanliegen war aber eigentlich, dass Tags außerhalb von Codeblöcken nicht funktionieren, wenn sie innerhalb davon zufällig vorkommen (mit [i] als typischem Beispiel). Die komische Zahl war nur ein dabe auftretender Nebeneffekt (wenn auch noch störender als eine falsche Formatierung).
-
SeppJ schrieb:
Dravere schrieb:
Ich habe mal einen sehr einfachen Fix eingebaut.
Mein Hauptanliegen war aber eigentlich, dass Tags außerhalb von Codeblöcken nicht funktionieren, wenn sie innerhalb davon zufällig vorkommen (mit [i] als typischem Beispiel). Die komische Zahl war nur ein dabe auftretender Nebeneffekt (wenn auch noch störender als eine falsche Formatierung).
Ich weiss. Allerdings dies zu korrigieren, ist nur mit sehr viel Aufwand möglich. Aktuell lohnt sich das nicht.