RFZ: preg_match

Moin,
ich möchte alles zwischen den Tags <font size="2"> und </font> haben, bin aber irgendwie zu blöd dazu :)
Mit "/>(.*)</font>/" klappt's noch, nur ist da hald die 2 nicht dabei.
Mit "/"2">(.*)</font>/" kommt dann schon garnix mehr.
Jetzt kenn ich mich damit eh schon so wenig aus :) Könnt ihr mir helfen?

cu RFZ

  1. Mit "/>(.*)</font>/" klappt's noch, nur ist da hald die 2 nicht dabei.
    Mit "/"2">(.*)</font>/" kommt dann schon garnix mehr.

    Nachtrag, beim ersten Versuch (ohne 2) bekomme ich einen anderen Tag (mit size=3, er liegt hald vor dem den ich will) als ich beim zweiten Versuch gern hätte.
    Ich glaube langsam dass es mit der 2 nix zu tun hat, sondern im zweiten Tag einfach Zeichen vorkommen, die (.*) nicht mit einschliesst. Welche wären das? Ich dachte (.*) würde alles mit einschliessen?

    cu RFZ

  2. So, anscheinend steht "." nicht für jedes Zeichen, zumindest nicht für einen Zeilenumbruch.

    Beispiel:
    <?php
    $Body = <<<text
     <font face="ARIAL,HELVETICA" size="2"><b>Überschrift</b></font>
     <font face="ARIAL,HELVETICA" size="2">Text, mit
     Zeilenumbruch!</font>
    text;
    preg_match_all("(size="2">(.*)</font>)",$Body,$m);
    var_dump($m);
    ?>

    Ausgabe:
    array(2) {
      [0]=>
      array(1) {
        [0]=>
        string(34) "size="2"><b>Überschrift</b></font>"
      }
      [1]=>
      array(1) {
        [0]=>
        string(18) "<b>Überschrift</b>"
      }
    }

    Wie kann ich jetzt eine Menge erstellen, in der ALLE Zeichen enthalten sind? "." kann ich ja in [] nicht verwenden (also [.\r\n\t] klappt nicht)

    Helft mir doch bitte :(

    cu RFZ

    1. Wie kann ich jetzt eine Menge erstellen, in der ALLE Zeichen enthalten sind? "." kann ich ja in [] nicht verwenden (also [.\r\n\t] klappt nicht)

      Die Lösung ist "/(.*)/s"

      Und ihr wollt das nicht gewusst haben oder wie?
      Naja...

      Helft mir doch bitte :(

      cu RFZ