Jörg: Frage zu Regex

Hallo zusammen,

wenn ich aus bbcode Plaintext machen möchte, müßte doch eigentlich meine folgende Regex hilfreich sein, oder?

Aber dann frage ich mich, warum z.b. in dieser Regex nur 1 match ist und der img-Endtag nicht gematched wird?

Jörg

  1. @@Jörg

    wenn ich aus bbcode Plaintext machen möchte, müßte doch eigentlich meine folgende Regex hilfreich sein, oder?

    Das würde ich verneinen. Verwende einen BBCode-Parser; die sollte es wie Sand am Meer geben.

    Aber dann frage ich mich, warum z.b. in dieser Regex nur 1 match ist und der img-Endtag nicht gematched wird?

    Flagge zeigen.

    😷 LLAP

    --
    “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
    1. Hallo Gunnar,

      Das würde ich verneinen. Verwende einen BBCode-Parser; die sollte es wie Sand am Meer geben.

      Nur, um aus BBcode einen Plaintext zu machen? Das sollte dich über eine Regex ratzfatz gemacht sein oder irre ich da? Alles, was in eckigen Klammern daherkommt, schlicht mitsamt der Klammer rauswerfen? Dabei ist mir dann auch wurscht, ob ich irgendetwas unberechtigterweise raus werfe, was einfach in eckigen Klammern daher kommt und mit bbcode nichts zu tun hat. Das ist eingepreist.

      Flagge zeigen

      Ach ok, danke 😉

      Jörg

      1. Hallo Jörg,

        Es gibt bbcode Tags, wo zwischen Begin- und End-Tag kein Text steht (URL und IMG), sondern ein*e URL. Beim URL Tag ist das sogar variabel, es gibt den Link mit Linktext ˋ[url=http://example.org/fallbesipiel]Das gemeine Fall-Besipiel[/url]ˋ und reine Links ˋ[url]http://example.org/mustermann[/url]ˋ.

        Ein Verfahren, das stumpf alle [...] Marker entfernt, liefert dafür vielleicht unerwünschte Ergebnisse.

        Wenn Du Linktexte "retten" willst, dann beachte auch, dass bbcode geschachtelt werden darf.

        Grmpf, wieso produziert dieses Tablet hier Backticks, die nicht als Code-Marker interpretiert werden? Oder liegt das an den eckigen Klammern?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hallo Rolf,

          hier gehts mir gar nicht um eine wirklich wasserdichte Lösung.

          Und die ganzen bbcode-Parser setzen in html um, also auch nicht das,w as ich möchte.

          ich habs jetzt für mich so gelöst (wohlwissend, dass das nihct zu 100% funktionieren wird, wie ich gerne hätte:

          function bbcode2plain($text)
          {
          return preg_replace('#\[[^\]]+\]#','',$text);
          }
          

          Jörg

        2. @@Rolf B

          ein*e URL.

          Schlechtes Beispiel fürs Gendern. Der URL, männlich.

          Grmpf, wieso produziert dieses Tablet hier Backticks, die nicht als Code-Marker interpretiert werden? Oder liegt das an den eckigen Klammern?

          Nein, es liegt an den Nicht-Backticks. Mit Backticks funktioniert’s:
          [url=http://example.org/fallbesipiel]Das gemeine Fall-Besipiel[/url]

          Mit U+02CB (MODIFIER LETTER GRAVE ACCENT) natürlich nicht.

          😷 LLAP

          --
          “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
          1. Hallo Gunnar,

            Schlechtes Beispiel fürs Gendern. Der URL, männlich.

            Aber nein, es ist die URL, weiblich. Und bevor wir beide vom Haar- zum Schädelspalten übergehen, hab ich das lieber vergendert.

            Nein, es liegt an den Nicht-Backticks

            Ist schon klar, aber ich habe auf der angeklipsten Tablet-Tastatur die gleiche Taste verwendet, die ich auf meiner PC Tastatur auch verwende: die für die kombinierenden Akzentzeichen Akut und Gravis, zwischen ß und BackSpace.

            Auf dem PC entsteht daraus "`" (GRAVE ACCENT \u0060) und auf dem Tablet entsteht "ˋ" (MODIFIER LETTER GRAVE ACCENT \u02cb). Der visuelle Unterschied ist nicht der Glyph, sondern das Spacing drumherum. Weswegen ich mich über das Tablet aufregte. Weil man das erstmal gar nicht bemerkt und es mir die Möglichkeit zum Eintippen des Backtick nicht (wie gewohnt) gibt.

            Rolf

            --
            sumpsi - posui - obstruxi
            1. printf('Hallo %s!', ['Du', 'ihr', 'Welt', 'zusammen'][rand(0, 3)]);

              Schlechtes Beispiel fürs Gendern. Der URL, männlich.

              Aber nein, es ist die URL, weiblich.

              „Die“ Locator fühlt sich sehr flasch an.

              /K

              1. Hallo kai345,

                was ist mit "die Location"? URL wird hinreichend oft als Synonym zu "die Adresse" gebraucht und hat sich darum bei vielen verweiblicht.

                Abgesehen davon ist das Genus einer Abkürzung nicht immer am Langtext festzumachen, gerade dann nicht, wenn der Langtext englisch ist. Beispiel: Das Modem. Oder gehörst Du zu der Minorität, die die - natürlich auch erlaubte - Form "der Modem" verwenden? Wegen "Modulator / Demodulator"?

                Rolf

                --
                sumpsi - posui - obstruxi
                1. printf('Hallo %s!', ['Du', 'ihr', 'Welt', 'zusammen'][rand(0, 3)]);

                  was ist mit "die Location"? URL wird hinreichend oft als Synonym zu "die Adresse" gebraucht und hat sich darum bei vielen verweiblicht.

                  Ich halte das für falsch, auch wenn ich ab und zu selbst dazu neige (weil man es zu oft hört). Location ist das, worauf der Locator verweist.

                  Ich sehe das so ähnlich wie beim Programmieren. Ein Zeiger verweist auf eine Adresse, ist aber selbst nicht die Adresse.

                  /K

                2. @@Rolf B

                  was ist mit "die Location"?

                  Was soll damit sein? Der Beriff kommt in Uniform Resource Locator nicht vor.

                  URL wird hinreichend oft als Synonym zu "die Adresse" gebraucht

                  Adresse ≠ Locotion. Eine Location hat eine Adresse.

                  Dir sind Pointer aus C u.dgl. ein Begriff‽

                  Oder gehörst Du zu der Minorität, die die - natürlich auch erlaubte - Form "der Modem" verwenden? Wegen "Modulator / Demodulator"?

                  Das müsste es ja „das URL“ heißen. 🤔

                  😷 LLAP

                  --
                  “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon
              2. Hi,

                „Die“ Locator fühlt sich sehr flasch an.

                Analog zur Salzstreuerin ist es die Locatoress 😉

                cu,
                Andreas a/k/a MudGuard

            2. @@Rolf B

              Der URL, männlich.

              Aber nein, es ist die URL, weiblich.

              Schon klar. Heißt ja auch die Motor, die Rollator, …

              Auf dem PC entsteht daraus "`" (GRAVE ACCENT \u0060) und auf dem Tablet entsteht "ˋ" (MODIFIER LETTER GRAVE ACCENT \u02cb).

              Dass bei ` a kombiniert à rauskommt, klar. Aber warum sollte bei ` [ – wenn’s nichts zu kombinieren gibt – U+02CB [ anstatt U+0060 [ rauskommen?

              Melde den Bug beim Hersteller deines Betriebssystems.

              😷 LLAP

              --
              “When I was 5 years old, my mother always told me that happiness was the key to life. When I went to school, they asked me what I wanted to be when I grew up. I wrote down ‘happy.’ They told me I didn’t understand the assignment, and I told them they didn’t understand life.” —John Lennon