[PHP] preg_match_all()
Verfasst: 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.
Das Ergebnis ist
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?
Danke schonmal für die Hilfe
Gruß roudy
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