Informationen aus php-Seite auslesen

Hallo Semjon,

wow, der Code funktioniert! Danke!

Ich bin mal gespannt, wie lange. Irgendwann müssen doch die Cookies ungültig werden.

Aber irgendwie listet er alle Leute auf, die bereits gepostet
haben, und macht dabei den ersten fett. So wie ich den Code
verstehe, sollte er aber die letzten Poster auflisten und
dabei hochzählen, oder?

Er listet sie vom letzten zum ersten auf, dh der letzte steht ganz oben.

Wie würde man den Code umschreiben, damit nur der letzte
Poster angezeigt wird?

Ersetze

foreach(array_reverse($matches[1]) as $boardmember)
echo ($count++ ? $boardmember : " $boardmember") . ’
';
durch

echo („end($matches[1])“);

Und dann habe ich noch eine Frage: Wo im Code wird angegeben,
welcher Thread durchsucht werden soll? Das finde ich nicht,
und das verwirrt mich… :-S

Gleich in der ersten Zeile steht der Link. Das Script wird aber vermutlich nur funktionieren, wenn es so ein gotolast-Link ist.

Johannes

Hallo

wow, der Code funktioniert! Danke!
Aber irgendwie listet er alle Leute auf, die bereits gepostet
haben, und macht dabei den ersten fett. So wie ich den Code
verstehe, sollte er aber die letzten Poster auflisten und
dabei hochzählen, oder?
Wie würde man den Code umschreiben, damit nur der letzte
Poster angezeigt wird?
Und dann habe ich noch eine Frage: Wo im Code wird angegeben,
welcher Thread durchsucht werden soll? Das finde ich nicht,
und das verwirrt mich… :-S

Johhannes hat ja die Fragen bereits alle
beantwortet. Ich hab den Quelltext mal
entsprechend verändert und ein wenig
„gestrafft“. Interessanterwise werden
die Cookies im Brauser zwar mit Ver-
fallsdatum belegt - dies wird aber nirgends
in der Boardsoftware kontrolliert.

<?php $host = 'board.kampf-um-mittelerde.de';
$path = '/thread.php?threadid=44589&goto=lastpost'; $cookies = 'Cookie: wbb2\_userpassword=126b53ffb6f67fbca14dd0512fabdb59; ' . '\_\_utmz=103605395.1214995802.3.3.utmccn=(referral)|utmcsr=' . '[www.google.de|utmcct=/|utmcmd=referral](http://www.google.de%7Cutmcct=/%7Cutmcmd=referral); \_\_utma=103605395.' . '976376924.1214940326.1214981021.1214995802.3; wbb2\_userid=' . '29020; wbb2\_cookiehash=dff76e25f37a7efebe5216479042b96b; ' . '\_\_utmb=103605395; \_\_utmc=103605395' . "\n\n"; $request = "Host: $host\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1;" . "de; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14\nAccept: text/xml," . "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;" . "q=0.8,image/png,\*/\*;q=0.5\nAccept-Language: en,en-us;q=0.8,de;q=0.5," . "de-de;q=0.3\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,\*;q=0.7\n" . "Keep-Alive: 300\nConnection: keep-alive\n"; # get 301 redirect $answer = http\_raw($host, "GET $path HTTP/1.1\n" . $request . $cookies); preg\_match('/Location:\s\*([^\s]+)/', $answer, $match); # get page $redirect = $match[1]; $html = http\_raw($host, "GET /$redirect HTTP/1.1\n" . $request . $cookies); preg\_match\_all('|([^|', $html, $match); # generate meaningful output: (the last member will be printed first) echo end($match[1]).' '; # done # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # function http\_raw($host, $request) { $html = ''; if( ($fs = fsockopen($host, 80, $errno, $errstr, 16)) ) { fwrite($fs, $request); while(!feof($fs)) $html .= fgets($fs, 128); fclose($fs); } return $html; } ?\> (Ganz oben gibst Du ein, was Du sehen willst.) Grüße CMБ
1 Like

Seltsam
Hallo Johannes,

Ersetze

foreach(array_reverse($matches[1]) as $boardmember)
echo ($count++ ? $boardmember :
" $boardmember") . ’
';
durch

echo („end($matches[1])“);

Da druckt er mir immer nur end(Array) aus, nicht den letzten, der gepostet hat…

Und dann habe ich noch eine Frage: Wo im Code wird angegeben,
welcher Thread durchsucht werden soll? Das finde ich nicht,
und das verwirrt mich… :-S

Gleich in der ersten Zeile steht der Link. Das Script wird
aber vermutlich nur funktionieren, wenn es so ein
gotolast-Link ist.

Oh, das hatte ich übersehen - danke! Ich werde das Script wahrscheinlich auch nur mit gotolast-Links verwenden, daher ist es OK :wink:

Passt
Hallo Semjon,

vielen Dank für deine Hilfe! Der Code geht jetzt genau so, wie ich ihn haben wollte!

Danke!

–WhiteAvenger

PS: Vielen Dank
Hallo Johannes,

vielen Dank für deine Hilfe und deine Bemühungen - der Code ist jetzt so, wie ich ihn haben wollte.

Danke!

–WhiteAvenger