Einzelnen Beitrag anzeigen
  #14 (permalink)  
Alt 28-03-2006, 16:27
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Der s-Modifier veranlasst den Parser dazu, die Zeichenkette, auf die der reguläre Ausdruck angewendet wird, in einzelne Zeilen zu unterteilen
Das ist m.E. schlichtweg Quark.

Wie du schon sagtest, sorgt der Modifier s dafür, dass der Punkt auch Newlines matcht. Deshalb ja auch der Name PCRE_DOTALL.
Zitat:
Der m-Modifier ist das Komplement zum s-Modifier: Die Zeichenkette wird nicht in Zeilen aufgetrennt, sondern im Ganzen behandelt.
Auch diese Beschreibung taugt wenig bis gar nichts.

Das PHP-Manual beschreibt es m.E. besser und genauer:
Zitat:
Standardmäßig behandelt PCRE eine zu durchsuchende Zeichenkette wie eine einzige Zeile von Zeichen (auch wenn sie tatsächlich mehrere Zeilenumbrüche enthält). Das Metazeichen für einen Zeilenanfang (^) passt nur auf den Anfang der Zeichenkette, das Metazeichen für ein Zeilenende ($) nur auf das Ende der Zeichenkette (falls der Modifikator D nicht gesetzt ist). [...] Wenn dieser Modifikator gesetzt ist, passen die Zeilenanfang- und Zeilenende-Konstrukte in der Zeichenkette sowohl direkt nach, bzw. vor einem Zeilenumbruch als auch auf deren Anfang und Ende.
Zitat:
Original geschrieben von closure
Wieso schliessen sich beide aus ?
Tun sie nicht.

Sie bewirken beide etwas (größtenteils) unabhängiges.

Auch m als "Komplement" zu s zu bezeichnen, halte ich für Unfug.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten