Andreas Vogt: Inhalt zwischen <body...> und </body> ermitteln

Hallo,
wie kann ich mit php den Inhalt einer Variable  so auslesen dass ich nur den Text zwischen <body...> und </body> erhalte?

Gruß Andreas

  1. Salü

    Wie wärs mit:
    $string = file_get_content('irgentwas.html');
    $string    = explode('<body>', $string); // Inhalt ist auf $string[1]
    $string[1] = explode('/<body>', $string);
    echo $string[0];

    L.g. Botter

    1. Das funktioniert aber nur wenn das body-tag richtig im Quelltext steht!

      Außerdem wirdst du bei folgendem tag Probleme bekommen:

        
      <body id="blub>  
      
      

      Wenn du das ganz sauber machen willst benötigst du einen relativ komplizierten regulären Ausdruck. Sowas solltest du aber bereits fertig im Netz finden. Vielleicht postet dir das ja auch einer. :)

      Mfg Mo3bius

      1. Wenn du das ganz sauber machen willst benötigst du einen relativ komplizierten regulären Ausdruck.

        Eigentlich nicht - solche aufgaben sind mir regulären Ausdrücken sogar relativ einfach und kontrollierbar zu lösen. Dennoch würde ich einen XML-Parser oder vergleichbares empfehlen.

        1. @@suit:

          nuqneH

          Wenn du das ganz sauber machen willst benötigst du einen relativ komplizierten regulären Ausdruck.

          Eigentlich nicht - solche aufgaben sind mir regulären Ausdrücken sogar relativ einfach und kontrollierbar zu lösen.

          Hm. <body title=">">Lorem ipsum</body>

          Qapla'

          --
          Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
          1. Hm. <body title=">">Lorem ipsum</body>

            Drum sagte ich, _relativ_ kontrollierbar :)

            auch das schließende body-Element ist, je nach DTD auch nur implizit vorhanden - darum der Hinweis auf einen XML-(SGML/DOM)-Parser