nur den body aus HTML herausfiltern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • nur den body aus HTML herausfiltern

    Hi Ihr,

    ich wurschtel hier schon die ganze Zeit an nem Regex herum um aus einem HTML-Code nur den body-Inhalt, also alles was nach <body> und vor </body> steht (ohne die body-Tags !), herauszufiltern. Im Grunde muss man ja nur alles zwischen <body> und </body> bekommen, womit ich mir aber irgendwie schwer tue.
    Ich hab bisher in dieser Richtung herumgewurschtelt:

    PHP-Code:
    $regex="|<body(.*)>(.*)</body>|Ui";
    preg_match($regex$HTMLcode$ausgabe);
    print_r($ausgabe); 
    Ich geb ja zu, ich bin bei weitem kein Regex-Freak, aber wieso klappt das nicht. So müsste ich doch eigentlich alle Attribute im body-Tag bekommen (die ich aber eigentlich gar nicht brauche) UND alles zwischen den <body>-Tags, oder ?
    Zuletzt geändert von Trompetenkäfer; 20.10.2006, 01:46.

  • #2
    Re: nur den body aus HTML herausfiltern

    und warum klappt das deiner meinung nach nicht?

    [edit] achso, sorry - modifier s benutzen
    Zuletzt geändert von 3DMax; 20.10.2006, 01:50.

    Kommentar


    • #3
      PHP-Code:
      $reg "/<body[^>]*>(.*)<\\\/body>/iUs"
      aus dem Manual
      s (PCRE_DOTALL)
      Wenn dieser Modifikator gesetzt ist, passt das Metazeichen Punkt im Suchmuster auf alle Zeichen inklusive Zeilenumbrüche. Ohne diesen Modifikator sind Zeilenumbrüche ausgeschlossen. Dieser Modifikator entspricht dem Perl-Modifikator /s. Unabhängig davon, ob dieser Modifikator gesetzt ist, passt eine verneinende Zeichenklasse wie z.B. [^a] immer auf einen Zeilenumbruch.
      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar

      Lädt...
      X