Henry: HTML parsen

Beitrag lesen

problematische Seite

Hallo,

ich tue mich echt schwer damit. Ich finde auch leider kein geeignetes Tutorial, was einem vor allem die Basics näher bringt oder Beispiele, die nachvollziehbar sind. Selbst PHP-Manual ist ja sonst sehr gut, aber in dem Fall, zu viel vermischt und nicht klar.

Versucht habe ich mich, ähnlich wie Javascript, durch den Dokumentenbaum zu hangeln. Scheitert aber bereits daran, dass ich irgendwie getElementsByTagName nicht nutzen kann.

Das ist soweit OK


$fl = 'https://de.wikipedia.org/wiki/Lex_Barker';
$doc = new DomDocument;
$doc->validateOnParse = true;
#$dom->preserveWhiteSpace = false;
$doc->loadHTMLFile($fl, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

Das hier geht aber leider in keiner Form:

$headlines = $dom->getElementsByTagName('h3')[2];
echo $headlines[2];

$headlines = $dom->getElementsByTagName('h3');
echo $headlines;

$headlines = $dom->getElementsByTagName('h3')[2];
echo $headlines.innerText;

kommt sowas wie zb. Call to a member function getElementsByTagName() on a non-object

Weiter bin ich daher bisher nur mit langen Testketten gekommen, die zwar das gewünschte liefern aber natürlich in der Realnutzung keinen Sinn machen.

$startx = $doc->getElementById('Leben')->parentNode->nextSibling->nextSibling->nextSibling->nextSibling;

// inkl. html tags mit c14n
#echo $startx->C14N(); 

// nur text
echo $startx->textContent;

Dabei ist die Struktur klar. Von id=Leben ausgehend das Elternelement finden und dann je nach Bedarf entweder alle Überschriften in <h3> Form oder den folgenden Kontext <p> finden und nutzen. Komme aber nicht weiter solange ich keine Schleifen einsetzen kann und dafür müsste ich eben getElementsByTagName nutzen können(sofern das überhaupt der richtige Weg wäre?). Nur was mache ich da falsch?

Gruss
Henry

0 145

Werte aus Textdatei exhumieren

Linuchs
  • php
  • programmiertechnik
  1. 1
    Rolf B
    1. 0
      Gunnar Bittersmann
      1. 0
        dedlfix
      2. 0
        pl
        1. 0
          Gunnar Bittersmann
          1. 0
            pl
            1. 0
              Gunnar Bittersmann
              1. 0
                pl
                1. 2
                  ThomasM
                  1. 0
                    pl
                    1. 0
                      ThomasM
  2. -2
    Henry
    • php
    • programmiertechnik
    • regex
    1. 2
      dedlfix
      1. 0
        Henry
        • meinung
        • php
        • regex
        1. 0
          dedlfix
          1. 0
            Henry
        2. 2
          Gunnar Bittersmann
          1. 0
            Henry
            1. 0
              Gunnar Bittersmann
            2. 5
              dedlfix
              1. 0
                Gunnar Bittersmann
              2. 0
                Henry
                1. 1
                  dedlfix
                  1. 0
                    Henry
                    1. 1
                      Gunnar Bittersmann
                      1. 0
                        Henry
                        1. 0
                          Gunnar Bittersmann
                          1. 0
                            Henry
                            1. 4
                              Christian Kruse
                              1. 2
                                Mitleser
                              2. 0
                                Henry
                                1. 1
                                  Christian Kruse
                                  1. 0
                                    Henry
                                    1. 0
                                      Robert B.
                                    2. 0
                                      pl
                                    3. 0
                                      Auge
                                  2. 0

                                    HTML parsen

                                    Henry
                                    • html
                                    • php
                                    • regex
                                    1. 0
                                      dedlfix
                                      1. 0
                                        Henry
                                        1. 0
                                          dedlfix
                                          1. 0
                                            Henry
                                            1. 0
                                              Henry
                                              1. 0
                                                Henry
                                                1. 0
                                                  dedlfix
                                                  1. 0
                                                    Henry
                                                    1. 0
                                                      Auge
                                                    2. 0
                                                      dedlfix
                                                      1. 0
                                                        Rolf B
                                                      2. 0
                                                        Henry
                                                        1. 0
                                                          dedlfix
                                                          1. 0
                                                            Henry
                                                            1. 0
                                                              dedlfix
                                                              1. 0
                                                                JürgenB
                                2. 0
                                  pl
                                3. 1
                                  dedlfix
                            2. 0
                              Gunnar Bittersmann
                              • browser
                              • zu diesem forum
                              1. 0
                                Christian Kruse
                            3. 0
                              Gunnar Bittersmann
                              1. 1
                                JürgenB
                              2. 0
                                Gunnar Bittersmann
                                1. 1
                                  JürgenB
                                2. 0
                                  Henry
                                  1. 0
                                    Robert B.
                                  2. 1
                                    Gunnar Bittersmann
                        2. 0
                          Robert B.
                2. 1
                  Gleiter
                  1. 0
                    Henry
                    1. 0
                      Gleiter
                  2. 0
                    JürgenB
                    1. 0
                      dedlfix
                      1. 0
                        JürgenB
                        1. 0
                          pl
                          1. 0
                            JürgenB
                            1. 0
                              Mitleser
                              1. 0
                                JürgenB
                                1. 0
                                  Mitleser
                                  1. 0
                                    pl
                                    1. 0
                                      JürgenB
                                      1. 0
                                        Auge
                                        1. 0
                                          dedlfix
                                          1. 0
                                            Auge
                                            1. 0
                                              JürgenB
                                              1. 0
                                                dedlfix
                                                1. 2
                                                  Rolf B
                                                  • humor
                                                  • meinung
                                                  1. 0
                                                    pl
                                                    1. 1
                                                      Tabellenkalk
                                                      1. 0
                                                        pl
                                                      2. 0
                                                        Rolf B
                                                        • mathematik
                                                        • meinung
                                                      3. 0

                                                        lon/lat precision

                                                        pl
                                                        1. 0
                                                          JürgenB
                                                          1. 0
                                                            Auge
                                                            1. 0
                                                              JürgenB
                                                              1. 0
                                                                pl
                                                            2. 0
                                                              Matthias Apsel
                                                              1. 0
                                                                MudGuard
                                                          2. 0
                                                            pl
                                                            1. 0
                                                              JürgenB
                                                              1. 0
                                                                Tabellenkalk
                                                                1. 0
                                                                  JürgenB
                                                          3. 0
                                                            Gunnar Bittersmann
                                                            1. 0
                                                              JürgenB
                                                              1. 0
                                                                Robert B.
                                                                1. 0
                                                                  Tabellenkalk
                                                                  1. 0
                                                                    Gunnar Bittersmann
                                                                    1. 0
                                                                      Tabellenkalk
                                                                      1. 0
                                                                        Robert B.
                                                                        • humor
                                                                        • mac
                                                                        • meinung
                                                                    2. 0
                                                                      Regina Schaukrug
                                                                      1. 0
                                                                        Mitleser
                                                                2. 0
                                                                  JürgenB
                                                                  1. 0
                                                                    Robert B.
                                                                    1. 0
                                                                      JürgenB
                                                                3. 1
                                                                  Matthias Apsel
                                                                  1. 0
                                                                    Robert B.
                                                                    • humor
                                                                    • meinung
                                                                    • selfhtml-wiki
                                                                    1. 0
                                                                      Gunnar Bittersmann
                                                                      1. 0
                                                                        Matthias Apsel
                                                                        1. 0
                                                                          Gunnar Bittersmann
                                                                          1. 0
                                                                            Matthias Apsel
                                                                            1. 0
                                                                              Gunnar Bittersmann
                                                                          2. 0
                                                                            Rolf B
                                                                            1. 0
                                                                              Gunnar Bittersmann
                                                              2. 0
                                                                pl
                                                            2. 0
                                                              Matthias Apsel
                                                              • humor
                                                    2. 0
                                                      Rolf B
                                                      1. 0
                                                        pl
                                      2. 0
                                        pl
                                2. 0
                                  pl
                                3. 0
                                  dedlfix
                            2. 0
                              pl
                    2. 0
                      Gunnar Bittersmann
                    3. 0
                      Gleiter
                      1. 0
                        JürgenB
        3. 2
          Christian Kruse
        4. 0
          Robert B.
          1. 0
            Henry
    2. 0
      Robert B.
    3. 0
      t-rex rox
      1. 1
        Gunnar Bittersmann
  3. 2
    ThomasM
    1. 0
      Rolf B
      1. 0
        Gunnar Bittersmann
  4. 0
    JürgenB
    1. 0
      pl
      1. 0
        JürgenB
        1. 0
          pl