[PHP] preg_match_all()

Hier kann über alles diskutiert werden, wirklich alles. Betonung liegt auf "diskutiert", das ist also kein Freischein zum Spammen.
(Beitragszähler deaktiviert)
Gesperrt
Roudy
Kopolaspinne
Beiträge: 1019
Registriert: 11. Apr 2005, 22:02
Wohnort: Dresden
Kontaktdaten:

[PHP] preg_match_all()

Beitrag von Roudy » 19. Aug 2007, 16:51

Grüßt euch ;)

Ich habe hier ein Script, welches die 1. 50 User von http://rank.freewartools.com/?welt=W11&race=0&send=1 auslesen soll.

Nun, das ist zum Beispiel ein Auszug aus dem Quelltext, der Zeile des 1. Platzes.
<tr><td>1</td><td><a href="http://88.198.6.23/freewar/internal/fig ... er_id=1239" target="_blank">Bigfoot</td><td>Natla - Händler</td><td>258767</td></tr>

Code: Alles auswählen

<?php
$top50= array();
echo "<pre>";
@$handle= fopen("http://rank.freewartools.com/?welt=W11&race=0&send=1", "rb");
if($handle == false) { echo "Verbindungsfehler"; exit(); }
$content= stream_get_contents($handle);
preg_match_all('/<tr><td>[0-9]+<\/td><td><a href=".+" target="_blank">(\w+)<\/td><td>(.+)<\/td><td>([0-9]+)<\/td><\/tr>/', $content, $match);

$top50= array_merge($top50, $match[1], $match[2], $match[3]);
print_r($top50);
echo "</pre>";
?>

Das Ergebnis ist
Array
(
[0] => sykes
[1] => Natla - Händler
[2] => 23989
)

In $match[0] stehen ja alle Treffer drinnen. Durch den Fehler im Stammquelltext, wo kein </a> gesetzt ist, wird alles durchweg verlinkt mit dem Profil des 1. Users. Außerdem wird mir alles nicht Zeilenweise dargestellt, wie ich es bei einem ähnlichen Script habe, welches mir die User durchweg von youtube.com ausliest.

Hab ich vielleicht einen Fehler in meinem regulärem Ausdruck?

Code: Alles auswählen

preg_match_all('/<tr><td>[0-9]+<\/td><td><a href=".+" target="_blank">(\w+)<\/td><td>(.+)<\/td><td>([0-9]+)<\/td><\/tr>/', $content, $match);

Danke schonmal für die Hilfe
Gruß roudy
Magnus Luterius hat geschrieben:Aber ist echt interessant, wie manche hier ihre andere Seite zeigen[...].Glaub, die nächste Neuerung sollte eine Verlinkung zur Suchtberatung sein.

Kakerlake
Klauenbartrein
Beiträge: 1419
Registriert: 3. Apr 2005, 00:52
Kontaktdaten:

Beitrag von Kakerlake » 19. Aug 2007, 17:12

Hm, und warum nimmst du nicht einfach die komplette Rangliste von Tiramon?
Sollte doch wesentlich weniger Arbeit machen ;)

Roudy
Kopolaspinne
Beiträge: 1019
Registriert: 11. Apr 2005, 22:02
Wohnort: Dresden
Kontaktdaten:

Beitrag von Roudy » 19. Aug 2007, 17:16

Wenn du mal nachgeschaut hättest, hättest du gesehen, dass man die Seite nicht einfach so streamen kann.

Liegt an dem JS
Magnus Luterius hat geschrieben:Aber ist echt interessant, wie manche hier ihre andere Seite zeigen[...].Glaub, die nächste Neuerung sollte eine Verlinkung zur Suchtberatung sein.

Kakerlake
Klauenbartrein
Beiträge: 1419
Registriert: 3. Apr 2005, 00:52
Kontaktdaten:

Beitrag von Kakerlake » 19. Aug 2007, 17:23

Und wenn du mal einen Augenblick nachgedacht hättest hättest du gesehen du gesehen das es auch die Userliste als Plaintext zu ziehen gibt ;)

Und im nächsten Schritt wärst du darauf gekommen das es am einfachsten wäre diese in eine Datenbank einzulesen. :idea:

Roudy
Kopolaspinne
Beiträge: 1019
Registriert: 11. Apr 2005, 22:02
Wohnort: Dresden
Kontaktdaten:

Beitrag von Roudy » 19. Aug 2007, 17:24

Bei Tiramon gibts die als Plaintext? ^^

Ich sehe nicht wo o.O
Magnus Luterius hat geschrieben:Aber ist echt interessant, wie manche hier ihre andere Seite zeigen[...].Glaub, die nächste Neuerung sollte eine Verlinkung zur Suchtberatung sein.

Kakerlake
Klauenbartrein
Beiträge: 1419
Registriert: 3. Apr 2005, 00:52
Kontaktdaten:

Beitrag von Kakerlake » 19. Aug 2007, 18:44


Roudy
Kopolaspinne
Beiträge: 1019
Registriert: 11. Apr 2005, 22:02
Wohnort: Dresden
Kontaktdaten:

Beitrag von Roudy » 19. Aug 2007, 21:02

Problem lag daran, dass ich die ? vergessen hatte und somit .+ gierig war :\ Ich depp ^^
Magnus Luterius hat geschrieben:Aber ist echt interessant, wie manche hier ihre andere Seite zeigen[...].Glaub, die nächste Neuerung sollte eine Verlinkung zur Suchtberatung sein.

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste