Ja, sry. Ich dachte nur es wäre schön ,wenn mir jemand wie du helfen könnte ...
preg_match Klassen auslesen
Collapse
X
-
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?
PeterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Comment
-
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.
Comment
-
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.
Comment
-
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.Last edited by benutzer_michi; 01-09-2009, 21:02.
Comment
-
Originally posted by benutzer_michi View PostIch 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.
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);
Peter
PS: Wenn du jetzt ausfallend wirst, dann fliegst du hier ganz schnell raus. Verstanden?Last edited by Kropff; 01-09-2009, 21:23.Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Comment
-
Sry, kleine Verwechselung, aber gut das du den Text so genau liest.
Hast du überhaupt Ahnung von dem, was du da von dir gibts?
PS: Wenn du jetzt ausfallend wirst, dann fliegst du hier ganz schnell raus. Verstanden?
Comment
-
Originally posted by benutzer_michi View PostSry, kleine Verwechselung, aber gut das du den Text so genau liest.
PeterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Comment
-
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);
Gibts da vorgefertigte Funktionen, mit denen ich das umsetzen kann ?Wichtig ist auch das die Daten immer an das Ende gefügt werden...Last edited by benutzer_michi; 03-09-2009, 20:28.
Comment
-
Wenn, dann höchstens so:
PHP Code:$Lines = count($hit[1]);
...
fwrite($datei, $hit[1][$i]);
Und bevor du fragst, wie man da Zeilenumbrüche hinein bekommt:
PHP Code:fwrite($datei, $hit[1][$i]."\n");
Last edited by Kropff; 03-09-2009, 20:29.Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Comment
-
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]
Comment
-
Originally posted by AmicaNoctis View PostMit 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.
PeterNukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Comment
-
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]
Comment
-
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 ?
Comment
-
Originally posted by benutzer_michi View PostDann kann man ja nicht fopen benutzen
Originally posted by benutzer_michi View Postcopy() würde zwar klappen, aber man hätte die komplette Seite und nicht die $hit-elemente.
Originally posted by benutzer_michi View PostWie könnte man sowas bewerkstelligen?[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]
Comment
Comment