Jan K.: preg_match_all('|Set-Cookie: (.*);|U', $data, $cookies);

Hallo Forum,

Set-Cookie: JSESSIONID=00002NKc4c-GTetS_oc0-dQ6JI5:15oia1nm0; Path=/

preg_match_all('|Set-Cookie: (.*);|U', $data, $cookies);

Die linke Pipe würde ich als "suche was rechts daneben steht" verstehen.
Die rechte Pipe mit dem U daneben will mir aber nicht in den Schädel.

Ist jemand so nett und erklärt mir das?

Grüße aus Berlin,
Jan

  1. Hi,

    preg_match_all('|Set-Cookie: (.*);|U', $data, $cookies);

    Die linke Pipe würde ich als "suche was rechts daneben steht" verstehen.

    Falsch.

    Die rechte Pipe mit dem U daneben will mir aber nicht in den Schädel.

    Ist jemand so nett und erklärt mir das?

    Ja, das Manual.
    http://www.php.net/manual/en/regexp.reference.delimiters.php
    http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Lieber ChrisB,

      preg_match_all('|Set-Cookie: (.*);|U', $data, $cookies);
      [...]
      http://www.php.net/manual/en/regexp.reference.delimiters.php

      ich werde wohl nie verstehen, warum man Zeichen, die in diesem Kontext sowieso schon eine besondere Bedeutung haben, als Delimiter einsetzen will. Was macht denn der "Erfinder" obiger Code-Zeile, wenn er eine Fallunterscheidung in seinem Muster notieren will? Ist er dann bezüglich des Maskierens etwa besser dran?

      Mir ist die Tilde als Delimiter lieb geworden, eben weil man sie selten als reguläres Zeichen benötigt, sodass sie bisher noch nie escaped werden musste. Auf die Pipe wäre ich jedenfalls nie gekommen.

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. preg_match_all('|Set-Cookie: (.*);|U', $data, $cookies);

        ich werde wohl nie verstehen, warum man Zeichen, die in diesem Kontext sowieso schon eine besondere Bedeutung haben, als Delimiter einsetzen will. Was macht denn der "Erfinder" obiger Code-Zeile, wenn er eine Fallunterscheidung in seinem Muster notieren will? Ist er dann bezüglich des Maskierens etwa besser dran?

        Was ganz Trickreiches, etwas, das nur echte Könner und Experten verstehen: Er nimmt ein anderes Zeichen.

        Mir ist die Tilde als Delimiter lieb geworden

        Ja, aber was macht denn der Felix, wenn er eine Tilde in seinem Muster notieren will? Ist er dann bezüglich des Maskierens etwa besser dran?

        1. Hello,

          preg_match_all('|Set-Cookie: (.*);|U', $data, $cookies);

          ich werde wohl nie verstehen, warum man Zeichen, die in diesem Kontext sowieso schon eine besondere Bedeutung haben, als Delimiter einsetzen will. Was macht denn der "Erfinder" obiger Code-Zeile, wenn er eine Fallunterscheidung in seinem Muster notieren will? Ist er dann bezüglich des Maskierens etwa besser dran?

          Was ganz Trickreiches, etwas, das nur echte Könner und Experten verstehen: Er nimmt ein anderes Zeichen.

          Oh, hier kann ich wieder 'was lernen. Zeig doch bitte, wie eine Fallunterscheidung mit einem anderen Zeichen als der Pipe funktioniert.

          Mir ist die Tilde als Delimiter lieb geworden

          Ja, aber was macht denn der Felix, wenn er eine Tilde in seinem Muster notieren will? Ist er dann bezüglich des Maskierens etwa besser dran?

          Finde ich auch. In meinen Mustern kommt die Tilde mindestens als jedes zweites Zeichen vor. Das sieht dann immer richtig geil aus: ~~a~b~c~d~e~~

          Liebe Grüße aus dem schönen Oberharz

          Tom vom Berg

          --
           ☻_
          /▌
          / \ Nur selber lernen macht schlau
          http://bergpost.annerschbarrich.de
          1. :)

            Gruß aus Berlin,
            Jan

          2. Zeig doch bitte, wie eine Fallunterscheidung mit einem anderen Zeichen als der Pipe funktioniert.

            Warum sollte man dafür ein anderes Zeichen als das vorgesehene benutzen?

        2. Hallo,

          Mir ist die Tilde als Delimiter lieb geworden
          Ja, aber was macht denn der Felix, wenn er eine Tilde in seinem Muster notieren will? Ist er dann bezüglich des Maskierens etwa besser dran?

          nein, aber diesen Fall hat er wohl viel seltener, als wenn er ein "Vertical Bar" oder den ebenfalls oft verwendeten Schrägstrich nehmen würde. So gesehen ist die Tilde oder auch der Unterstrich eine gute Wahl.

          Ciao,
           Martin

          --
          The other line moves faster. (from Murphy's Law)
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    2. Ungreedy, besten Dank!!!