preg_match Klassen auslesen

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

  • #31
    Ja, sry. Ich dachte nur es wäre schön ,wenn mir jemand wie du helfen könnte ...

    Kommentar


    • #32
      Sag jetzt mal ganz ehrlich. Willst du mich auf den Arm nehmen? In der angehängten datei.htm gibt es kein einziges <td class="e">. Was bitteschön soll das? Kannst du nicht mal einfachstes HTML?

      Peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #33
        Deswegen wollt eich ja auch ein extra topic aufmachen. Also folgende Situation ich hatte auf einen PC die orginale Datei (die als zip) und von dem Pc mit dem ich jetzt schreibe hatte ich kein Quelltext, deswegen dacht ich mir weil sich der orginale Quelltext auf dem anderen PC befindet; vereinfache ich die ganze Geschichte ein wenig, da ich dachte das man über die Klasse "fieldinput" oder "e"(wie im alten Bsp.) alle Daten in ein Array speichern kann.

        Kommentar


        • #34
          Fall 1) <div class="info-value">XXX</div>
          Fall 2) <td class="fieldinput">xxx<div>XXX</div></td>

          So schauts auf den ersten Blick aus und nun kannst du mal selbst reguläre Ausdrücke draus basteln. Ob du die dann zu einem einzigen veroderst oder zweimal preg_match_all() aufrufst ist erstmal egal. Schritt für Schritt.

          Falls du von regulären Ausdrücken keine Ahnung hast, schau im Manual nach und zeig uns dann deinen Ansatz. Wir lösen dann gern den nächsten Knoten.


          Was sagst du eigentlich zu DOM? Weißt du was das ist, hast du es dir mal angeschaut? Dein Ziel ist auf beiden Wegen, Regex und DOM erreichbar. Aber ich habe den Eindruck, dass du mit Arrays und Funktionsaufrufen schon besser umgehen kannst als mit regulären Ausdrücken. Deswegen wäre der DOM-Weg für dich einfacher.

          Kommentar


          • #35
            Ich weiß das jetzt regex erstmal escaped werden muss, aber den Rest kann ich nicht.

            /<div id="fieldinput">(.*?) <div>(.*?) <\/div><\/div>/

            Erstmal nur die fieldinput-klassen reichen aus für mich.
            Zuletzt geändert von benutzer_michi; 01.09.2009, 21:02.

            Kommentar


            • #36
              Zitat von benutzer_michi Beitrag anzeigen
              Ich weiß das jetzt regex erstmal escaped werden muss, aber den Rest kann ich nicht.

              /<div id="fieldinput">(.*?) <div>(.*?) <\/div><\/div>/

              Erstmal nur die fieldinput-klassen reichen aus für mich.
              Jetzt zum allerletzten Mal! Was zum Teufel willst du? <td class="fieldinput"> oder <div id="fieldinput">? Herrgottnochmal, entscheide dich endlich! Hast du überhaupt Ahnung von dem, was du da von dir gibts?

              Bei deiner angehängten datei.htm gibt es nur <td class="fieldinput">. Und diese Elemente bekommst du z.B. per
              PHP-Code:
              $save file_get_contents('datei.htm');
              preg_match_all ('/<td class="fieldinput">\s{0,1}<div>(.*?)<\/div><\/td>/'$save$hit);
              print_r($hit); 
              Und jetzt denkst du endlich mal nach, bevor du hier weiter diesen Blödsinn postest!. Sorry, aber langsam reicht es mir.

              Peter

              PS: Wenn du jetzt ausfallend wirst, dann fliegst du hier ganz schnell raus. Verstanden?
              Zuletzt geändert von Kropff; 01.09.2009, 21:23.
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #37
                Sry, kleine Verwechselung, aber gut das du den Text so genau liest.
                Hast du überhaupt Ahnung von dem, was du da von dir gibts?
                Genau aus dem Grund bin nicht nur ich hier angemeldet.
                PS: Wenn du jetzt ausfallend wirst, dann fliegst du hier ganz schnell raus. Verstanden?
                Warum sollte ich jemanden beleidigen der mir hilft ?

                Kommentar


                • #38
                  Zitat von benutzer_michi Beitrag anzeigen
                  Sry, kleine Verwechselung, aber gut das du den Text so genau liest.
                  Und wie ist der aktuelle Stand der Dinge? Hast du dich jetzt für etwas entschieden? Und auch ausprobiert?

                  Peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #39
                    danke klappt alles.
                    Wenn ich nun die $hit-elemente einzeln ansprechen will und Sie in eine externe Datei speichern will, um diese Elemente in eine html-Tabelle einzubetten; habe ich mir folgendes überlegt:

                    PHP-Code:
                    $datei=fopen($dateiname,'a+');

                    $Lines count($hit);

                    fwrite($datei"<table><tr>");
                    for(
                    $i=0;$i<$Lines;$i++){
                    fwrite($datei"<td>");
                    fwrite($datei$hit[$i]);
                    fwrite($datei, </td>
                    }
                    fwrite($datei,  </tr></table>");

                    fclose(
                    $datei); 
                    fwrite mag aber irgendwie keine Arrays in der Form, sondern nur Strings!
                    Gibts da vorgefertigte Funktionen, mit denen ich das umsetzen kann ?Wichtig ist auch das die Daten immer an das Ende gefügt werden...
                    Zuletzt geändert von benutzer_michi; 03.09.2009, 20:28.

                    Kommentar


                    • #40
                      Wenn, dann höchstens so:
                      PHP-Code:
                      $Lines count($hit[1]);
                      ...
                      fwrite($datei$hit[1][$i]); 
                      $hit ist ein Array und besteht aus zwei Teilen. Dem kompletten Ausdruck in $hit[0] und den geklammerten Ergebnissen in $hit[1]. Und beide sind wiederum Arrays. Da du möglicherweise nur die geklammerten Ausdrücke haben möchtest, musst du auch nur das zusätzliche Array durchlaufen.

                      Und bevor du fragst, wie man da Zeilenumbrüche hinein bekommt:
                      PHP-Code:
                      fwrite($datei$hit[1][$i]."\n"); 
                      Peter
                      Zuletzt geändert von Kropff; 03.09.2009, 20:29.
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #41
                        Mit dem Beispielcode erzeugst du aber eine leere Tabelle im Browser und schreibst nur die Hits in die Datei. Geh ich recht in der Annahme, dass du eigentlich die HTML-Tabelle mit den Hits in der Datei haben willst? Dann müsstest du den HTML-Code auch mit fwrite schreiben, statt mit print.

                        Den Rest hat dir Kropff ja schon mitgeteilt, hab ich grad noch gesehen.
                        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                        Super, danke!
                        [/COLOR]

                        Kommentar


                        • #42
                          Zitat von AmicaNoctis Beitrag anzeigen
                          Mit dem Beispielcode erzeugst du aber eine leere Tabelle im Browser und schreibst nur die Hits in die Datei. Geh ich recht in der Annahme, dass du eigentlich die HTML-Tabelle mit den Hits in der Datei haben willst? Dann müsstest du den HTML-Code auch mit fwrite schreiben, statt mit print.
                          Das hat er schon korrigiert. Ist nur noch ein Fehler drin.

                          Peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #43
                            Na eben.
                            OffTopic:
                            Kann man eigene Beiträge auch wieder löschen, wenn sie gar keinen Sinn mehr machen?
                            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                            Super, danke!
                            [/COLOR]

                            Kommentar


                            • #44
                              Danke für die schnellen und hilfreichen Antworten.
                              Angenommen was wäre wenn die Datei nicht auf einer Festplatte liegen würde, sondern irgendwie mit http:// anfangen würde.
                              Dann kann man ja nicht fopen benutzen und copy() würde zwar klappen, aber man hätte die komplette Seite und nicht die $hit-elemente.
                              Wie könnte man sowas bewerkstelligen ?

                              Kommentar


                              • #45
                                Zitat von benutzer_michi Beitrag anzeigen
                                Dann kann man ja nicht fopen benutzen
                                Kann man schon, in den meisten Fällen ist allow_url_open eingeschaltet und dann kann man damit auch Dateien (zum Lesen) öffnen, die im Web liegen. Aber warum würdest du das für die Hits brauchen? Liegen die nicht auf dem selben Server? Oder redest du schon wieder von was anderem???

                                Zitat von benutzer_michi Beitrag anzeigen
                                copy() würde zwar klappen, aber man hätte die komplette Seite und nicht die $hit-elemente.
                                Wie du auf die Datei zugreifst hat doch absolut nichts damit zu tun, was drin steht. Wovon redest du?

                                Zitat von benutzer_michi Beitrag anzeigen
                                Wie könnte man sowas bewerkstelligen?
                                Was denn eigentlich?
                                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                                Super, danke!
                                [/COLOR]

                                Kommentar

                                Lädt...
                                X