114757
Goto Top

Sammelthread für Bugs in der Formatierung

Hallo Kollegen, liebe Forumsnutzer,

damit wir die manchmal etwas nervigen Fehler der Formatierungsanweisungen los werden habe ich diesen Thread aufgemacht um diese zu sammeln und zusammen mit Frank zu beheben.

Ich liste hier mal in loser Reihenfolge die Bugs auf, welche mir jetzt auf Anhieb eingefallen sind und werde sie ergänzen soweit mir weitere auffallen:
back-to-top1. Kombination von kleiner Text und kursiver Formatierung
Formatierung:
^^//Dies soll kleiner kursiver Text werden//^^
Ergebnis:

Dies soll kleiner kursiver Text werden ^^

Damit der restliche Text nicht allesamt klein wird musste ich hier in diesem Thread "zusätzliche" Hütchen am Ende einfügen! Diese Formatierung mit den führenden Hütchen für Kleinformatierung scheint noch andere Kombinationen zu betreffen, so dass ich hier die Ursache für andere Bugs sehe.
back-to-top2. Kombination von Link und kursiver Formatierung
Formatierung:
//Dies soll ein Text mit [https://administrator.de Link] und kursiver Text Formatierung werden //
Ergebnis:

Dies soll ein Text mit Link und kursiver Text Formatierung werden

Hier stört wohl der Doppelslash des Links die Formatierung. Auch hier musste ich mit zwei weiteren Slashes am Ende verhindern das der folgende Text allesamt kursiv wird. Klar weil der Parser hier den ENDTAG schon am Linkanfang vermutet.

Die Hauptursache der Bugs scheint mir an den offensichtlich häufiger als gedacht vorkommenden Kombinationen der Formatierungsanweisungen in normalem Beitragstext. Vielleicht wäre hier in Zukunft eine ähnliche Herangehensweise wie in anderen Foren mit einheitlicheren eindeutigen Start und End-Tags angedacht. z.B. ->[[STARTTAG]] .......[[/ENDTAG]]

Habt Ihr weitere offensichtliche Bugs beim Formatieren? Dann schreibt sie hier rein, unsere Seite kann nur besser werden wenn ihr mit helft face-smile

Gruß und sonniges Wochenende
jodel//

Content-Key: 298941

Url: https://administrator.de/contentid/298941

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: Lochkartenstanzer
Lochkartenstanzer 12.03.2016 aktualisiert um 09:36:24 Uhr
Goto Top
Zitat von @114757:

Die Hauptursache der Bugs scheint mir an den offensichtlich häufiger als gedacht vorkommenden Kombinationen der Formatierungsanweisungen in normalem Beitragstext. Vielleicht wäre hier in Zukunft eine ähnliche Herangehensweise wie in anderen Foren mit einheitlicheren eindeutigen Start und End-Tags angedacht.

Oder einfach eine "Escape-Sequenz", mit der man innerhalb einer Foirmattierung befindliche gleiche Formattierungssequenzen "escapen" kann, wie z.B.

// Dies ist ein schräger Text [http:\//link.administrator.de mit Link]//

würde z.B. der Logik bei regulären Ausdrücken entsprechen.

lks

PS: Die meisten Formattierungsprobleme treten bei mir im Zusammenhang mit der Kursivschrift auf.
Mitglied: 114757
114757 12.03.2016 aktualisiert um 09:40:54 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
PS: Die meisten Formattierungsprobleme treten bei mir im Zusammenhang mit der Kursivschrift auf.
Sehe ich auch so. Die doppelten Slashes kommen einfach zu häufig im Fließtext vor, das macht es nicht trivial das per Regex zu formulieren.
Mitglied: 108012
108012 12.03.2016 um 12:29:31 Uhr
Goto Top
Hallo,

Dies soll kleiner kursiver Text werden
Hier habe ich das einfach so gemacht wie Jodel32, aber eben
zwischen den Hütchen einen frei gelassen und den
Schrägstrichen und dem Text und den Schrägstrichen
auch noch einen frei gelassen

Dies soll kleiner kursiver Text werden
Hier habe ich einfach die Schrägstriche erst außen gesetzt, also am Anfang
und dann die Hütchen dahinter, dann funktioniert es auch wie es soll.

Dies soll ein Text mit Link und kursiver Text Formatierung werden.
Man muss erst zwei Schräger setzten, vor dem Text und hinter dem folgenden
Text -""Dies soll ein Text mit"- setzen und dann vor und hinter dem anderen
Text setzen -"und kursiver Text Formatierung werden"- dann funktioniert es
wie es soll.


Gruß
Dobby
Mitglied: 114757
114757 12.03.2016 aktualisiert um 12:41:22 Uhr
Goto Top
Sicher Dobby das sind alles Workarounds die ich auch immer genutzt habe. Der Sinn ist es hier aber diese Bugs zu beheben so dass es in Zukunft auch ohne Workaround geht face-smile, und ein neuer Nutzer sich nicht auch noch damit rum schlagen muss. Sinn und Zweck ist es das es immer funktioniert.

Aber der Tipp mit den Leerzeichen bringt Frank vermutlich auf die richtige Spur

Ein weiteres Beispiel:

Falsch:
@@+++^^//Hallo//^^@@
Hallo

Korrekt
@@+++^^ //Hallo// ^^@@
Hallo ^^
Mitglied: 108012
108012 12.03.2016 um 12:55:00 Uhr
Goto Top
Der Sinn ist es hier aber diese Bugs zu beheben so dass es in Zukunft auch ohne Workaround geht
Das sind doch keine Bugs, (Spaß ein) nur weil Du die Syntax nicht richtig beherrscht! (Spaß aus)

Gruß
Dobby
Mitglied: 114757
114757 12.03.2016 aktualisiert um 13:14:15 Uhr
Goto Top
Zitat von @108012:
Der Sinn ist es hier aber diese Bugs zu beheben so dass es in Zukunft auch ohne Workaround geht
Das sind doch keine Bugs, (Spaß ein) nur weil Du die Syntax nicht richtig beherrscht! (Spaß aus)
Wenn es keine Bugs wären dann würde die Formatierung ja nicht so aus dem Ruder laufen wenn man sie herausfordert face-wink zumal ja dann teilweise dadurch "alle Kommentare einer Seite betroffen sind" (ist in einem Beitrag schon vorgekommen das durch exzessives ignorieren von Codetags plötzlich alle folgenden Kommentare fett waren!!) . Und das nennst du keinen Bug ?? Deine Programme möchte ich lieber nicht nutzen face-wink

Bleiben wir hier doch bitte sachlich.
Mitglied: Frank
Frank 16.03.2016 aktualisiert um 03:27:22 Uhr
Goto Top
Hi,

Erst einmal Danke für die Mühe face-smile
Ich suche morgen mal alle betreffenden Regular Expressions raus und trage sie hier ein. Evtl. können gemeinsam auf Fehlersuche gehen.

P.S. hier ein kleiner Fehler im @ Tag für Usernamen: Regular Expressions für unsere Usernamen-Tags: Wer kann es lösen?

Gruß
@Frank
Mitglied: Frank
Frank 17.03.2016 aktualisiert um 00:46:52 Uhr
Goto Top
Hi,

hier die Regular Expressions zu den Punkten:

1) Kombination von kleiner Text und kursiver Formatierung

  • Kleiner Text:
    /\^\^(()|[^_].*)\^\^/isU
  • Kursiver Text (uhh, ist noch von 2009, sorry):
    /([^:\/\/])\/\/(.*?)\/\/|(\n|\r)\/\/(.*?)\/\//s

2) Kombination von Link und kursiver Formatierung

Die Regular Expressions zum Link haben bisher gut funktioniert und sind aus verschieden Teilen zusammengebaut. Das ist aber nicht zwingend notwendig und kann sicher auch aufgelöst werden.

$notanchor = "([^\[])";  
$protocol = '((http|ftp|https):\/\/)';  
$domain = '([\w]+.[\w]+)';  
$subdir = '([\w\-\.,()@?^=\!%&:;\/~\+#]*[\w\-@?^=%&\/~\+#])?';  
$regex = '/' . $notanchor . $protocol . $domain . $subdir . '/i';  

Die Regular Expressions zum kursiven Text (siehe oben) sind sehr alt und sollten wahrscheinlich komplett ersetzt werden.

Dazu sei noch gesagt, dass ich dazu den PHP-Befehl preg_replace nutze und auch dessen Suchmuster-Modifikatoren wie z.B. /regex/isU. Ggf. kann man aber darauf verzichten.

Bin gespannt ob ihr eine Lösung findet face-smile

Gruß
@Frank
Mitglied: Frank
Frank 22.03.2016 um 10:08:11 Uhr
Goto Top
Hi,

wenn ihr noch Fragen habt, schreibt sie mir. Ich freue mich auch auf Teillösungen face-smile

Gruß
Frank
Mitglied: 114757
114757 24.03.2016 aktualisiert um 12:23:52 Uhr
Goto Top
Also, ich denke es wäre für die URLs vielleicht besser wenn du sie als erstes im Parsing Prozess herausfilterst also alle URLs extrahierst durch Platzhalter ersetzt dann die restliche Formatierung anwendest und zum Schluss die URLs wieder einfügst, dann hast du auch nicht das Problem, dass der doppelte Slash in den URLs zu Problemen führt und es würde ein Regex für die kursive Darstellung ala
/\/{2}(.*?)\/{2}/s
reichen.

Das ist ein allgemeines Problem dieser zu "einfachen" Tags im Fließtext. Wenn man stattdessen Tags ala [[TAGXYZ]] nutzen würde hätte man das Problem nicht. Vielleicht sollte man darüber mal nachdenken, das dahingehend zu ändern. Klar, der Aufwand für eine Umwandlung bestehender Posts ist ja nicht zu unterschätzen, aber denke das wäre für die Zukunft eine zuverlässigere Alternative.

Gruß jodel32