Christoph Probst: wie heisst die regex für [link:www.test.de]

Hallo Zusammen,

wie lautet die Regex mit der in diesem Forum die < ...> verarbeitet werden? Ich versuche die ganze Zeit mir die selbst zusammen zu basteln, aber irgendwie läuft das hier anders ...

Chris

  1. hi!

    wie lautet die Regex mit der in diesem Forum die < ...>
    verarbeitet werden? Ich versuche die ganze Zeit mir die selbst
    zusammen zu basteln, aber irgendwie läuft das hier anders ...

    Hatte Stefan das nicht mal im Forum gepostet?

    === cut ===
    s/[link:(.*?)]/<a href="$1">$1</a>/ig;
    s/<img src="(.*?)" alt="">/<img src="$1">/ig;
    === cut ===

    bye, Frank!

    1. hi!

      wie lautet die Regex mit der in diesem Forum die < ...>
      verarbeitet werden? Ich versuche die ganze Zeit mir die selbst
      zusammen zu basteln, aber irgendwie läuft das hier anders ...
      Hatte Stefan das nicht mal im Forum gepostet?

      Da hab ich mich wohl selbst ausgetrickst... Mal schauen, ob es jetzt
      klappt:

      === cut ===
      s/[.{0}link:(.*?)]/<a href="$1">$1</a>/ig;
      s/[.{0}image:(.*?)]/<img src="$1">/ig;
      === cut ===

      Das ".{0}" kann man aus beiden rausschmeißen. Das ist nur drinnen,
      um die Regexps nicht zu verfälschen - für Leute, die nicht richtig
      lesen können ;)

      bye, Frank!

      1. Hallo Frank,

        === cut ===
        s/[.{0}link:(.*?)]/<a href="$1">$1</a>/ig;
        s/[.{0}image:(.*?)]/<img src="$1">/ig;
        === cut ===

        Das ist eine regex, die ich schon habe. Allerdings ist mir diese zu unsicher. Ich habe das Forum noch nicht getestet, aber mich stört, dass Ausdrücke wie [lihnk:www.test.de" onmouseover="javascript(alert('test');)] nicht abgefangen werden.

        Und hier mal ohne schreibfehler, ob es auch klappt:

        [lihnk:www.test.de" onmouseover="javascript(alert('test');)]

        1. ich bin auch zu dumm:

          <a href="www.test.de" onmouseover="javascript(alert('test');)">www.test.de" onmouseover="javascript(alert('test');)</a>

        2. hi!

          === cut ===
          s/[.{0}link:(.*?)]/<a href="$1">$1</a>/ig;
          s/[.{0}image:(.*?)]/<img src="$1">/ig;
          === cut ===
          Das ist eine regex, die ich schon habe. Allerdings ist mir diese
          zu unsicher. Ich habe das Forum noch nicht getestet, aber mich
          stört, dass Ausdrücke wie

          »»   [lihnk:www.test.de" onmouseover="javascript(alert('test');)]

          nicht abgefangen werden.

          Dann musst du halt die nicht erwünschten Zeichen (zb. Leerzeichen und
          "-Zeichen) verbieten:
            s/[.{0}link:([^"\s]*?)]/<a href="$1">$1</a>/ig;

          Die Maskierung der "-Zeichen im Ersetzungsteil ist übrigens - IMHO -
          unangebracht ;)

          bye, Frank!

          1. Auch hi!

            Also erstmal Frank, kann man statt [ ja auch &#91; schreiben, da springt das Script dann nicht drauf an. ;-)

            Das ist eine regex, die ich schon habe. Allerdings ist mir diese
            zu unsicher. Ich habe das Forum noch nicht getestet, aber mich
            stört, dass Ausdrücke wie
            »»   [lihnk:www.test.de" onmouseover="javascript(alert('test');)]
            nicht abgefangen werden.

            Dann musst du halt die nicht erwünschten Zeichen (zb. Leerzeichen und
            "-Zeichen) verbieten:
              s/[.{0}link:([^"\s]*?)]/<a href="$1">$1</a>/ig;

            IMHO ist das einfach ein Sicherheitsleck in diesem Forum. Korrekterweise muessten naemlich alle " zu " maskiert werden (*vor* dem Umsetzen der Link-Syntax!), genauso wie das mit <, > und & ja auch gemacht wird (oder werden sollte). Zusammen also:

            s/"/"/g;
            s/[link:(.*?)]/<a href="$1">$1</a>/ig;

            Das sollte diesen Spielereien den Garaus machen.

            Die Maskierung der "-Zeichen im Ersetzungsteil ist übrigens - IMHO -
            unangebracht ;)

            Ich hoffe, Du meintest die , nicht das ersetzen durch die HTML entity.

            So long

            1. hi!

              Also erstmal Frank, kann man statt [ ja auch [ schreiben, da
              springt das Script dann nicht drauf an. ;-)

              Hm, da muss man ja erstmal drauf kommen. Aber anders geht's ja auch :)

              Dann musst du halt die nicht erwünschten Zeichen (zb.
              Leerzeichen und "-Zeichen) verbieten:
                s/[.{0}link:([^"\s]*?)]/<a href="$1">$1</a>/ig;
              IMHO ist das einfach ein Sicherheitsleck in diesem Forum.
              Korrekterweise muessten naemlich alle " zu " maskiert werden
              (*vor* dem Umsetzen der Link-Syntax!), genauso wie das mit <, >
              und & ja auch gemacht wird (oder werden sollte).

              Stimmt, könnte man auch machen ;) Im Link sollte man vielleicht
              trotzdem noch ungültige Zeichen verbieten, um alle evtl. Probleme
              zu vermeiden.

              s/"/"/g;
              s/[link:(.*?)]/<a href="$1">$1</a>/ig;
              Das sollte diesen Spielereien den Garaus machen.

              Bitte Stefan, falls du das liest - du weißt schon... *g*

              Die Maskierung der "-Zeichen im Ersetzungsteil ist übrigens -
              IMHO - unangebracht ;)
              Ich hoffe, Du meintest die \

              Jup.

              bye, Frank!