Einzelnen Beitrag anzeigen

quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP] preg_match_all()

  Alt 19. Aug 2007, 15:39
Servus community.

Ich habe hier ein Script, welches die 1. 50 User von hier auslesen soll.

Nun, das ist zum Beispiel ein Auszug aus dem Quelltext, der Zeile des 1. Platzes.

Zitat:
<tr><td>1</td><td><a href="http://88.198.6.23/freewar/internal/fight.php?action=watchuser&act_user_id=1239" target="_blank">Bigfoot</td><td>Natla - Händler</td><td>258767</td></tr>
Code:
<?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
Zitat:
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:
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ß quen
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat