frankx: regexp und whitespace ("s" nach dem Ausdruck) und preg_match_all

Beitrag lesen

Hellihello

in meinem Tests habe ich folgendes gefunden:

  
$subject = "<body>abcde  
<div>  
</div>  
ccfa  
sdasdfdef  
</body>";  
$pattern = '°<body>.*</body>°s';  
preg_match_all($pattern, $subject, $matches);  
print_r($matches);  

bringt:

Array
(
    [0] => Array
        (
            [0] => <body>abcde
<div>
</div>
ccfa
sdasdfdef
</body>
        )

)

Ich stelle fest, dass das "s" hinter dem eigentlichen Ausdruck bewirkt, dass im ".*" auch alle whitespaces (Absätze, vermutlich \n und \r sowie  Leerzeichen) mitgenommen werden. Ich finde aber keine Doku für diese Syntax.

Dann noch gleich die Frage, warum die Ausgabe ein verschachteltes Array ist?

$matches[0][0] ist ja der Bodyinhalt.

Dank und Gruß,

frankx

--
tryin to multitain  - Globus = Planet != Welt