Script zum aktualisieren eines Teils von dem Quelltest einer Seite

  • Hallo,

    also wollte erstmal sagen, dass ich mich da so gut wie gar nicht auskenne und nicht weiß ob sowas überhaupt geht.
    Ich möchte auf meiner Seite, sie sich um Onlinespiele dreht, den Spielserverstatus eines Spiels auf meiner Seite anzeigen lassen (Ja, ich dürfte es, ist kein Problem), der ist hier zu finden ist: view-source:http://www.gamersfirst.com/warrock/?q=de

    Kann ich da etwas auf meiner Seite einrichten, dass diese Code, z. B. alle 5 Minuten auf meiner Seite aktualisiert?

    Der sieht so aus:

  • also du bräuchtest nen parser (in php geschrieben oder einer beliebigen sonstigen serverseitigen sprache), müsstest dann damit den entsprechenden teil an infos rausholen und dann bei dir via ajax in einem bestimmten bereich nachladen.
    was bei deinem code dort schwierig werden könnte, ist der aussprungspunt, also die endkennung für den parser, ich denke mal di anzahl der zeichen ist variabel es sei denn du kannst bei "</table></div>" aufhören, das wäre dann kein großer akt..
    die frage ist lediglich wieviel plan du von php und javascript hast :)

  • Also nur um hier mal von einem im Ajax Gebiet wahrscheinlich relativ gleichrangigen die Meinung mit zu poaten:
    Da du so weit wie ich das erkennen kann das ganze auch nicht selbst geschrieben hast sondern ein fertiges CMS genutzt hast ist es für dich wahrscheinlich extrem schwer da selbst noch Ajax mit rein zu basteln. ;)
    Ich habe schon ca. 2Monate gebraucht um grundlegende Funktionen von Javascript zu beherschen und das ist, finde ich, noch deutlich einfacher als Ajax!

    Des weiteren habe ich ein paar fehler im Text gefunden http://www.gamersfirst.com/warrock/?q=de/Gattungen sind alle "ö" groß geschrieben, ich weiß nicht ob du die html Sonderzeichen "Nummern" dafür nutzt? Wenn ja dann gibt es das "ö" da auch in klein, wäre dann statt Ö die ö

    Und dann noch die Frage: Weshalb willst du unbedingt die Speilserverstati (?) ohne Seitenreload aktualisieren lassen?

    MfG

  • Vielen Dank für die Infos, also das stimmt, ich hab von den Ajax etc. keine Ahnung, ich könnte jemanden aus den Umfeld meiner Seite fragen ob einer das beherrscht, findet sich sicher jemand.

    Also einen anderen einfacheren weg gibt es nicht, die Satistik unten rechts http://www.gamersfirst.com/warrock/?q=de auf meiner Seite anzuzeigen?

    Ich hab z. .B eine Seite gefunden, die das u. a. auch angezeigt http://warrock-stats.com/index.php?site=serverstatus

    Außerdem nutzt die Seite die Statistik vom Profil eines Spielers, so eine Seite: http://www.gamersfirst.com/warrock/?q=de/…name=weestsiide
    Und zeigt diese dann ebenfalls an: http://warrock-stats.com
    Das wäre das nächte Ziel, wenn ich es zuerst hinkriege, den Server Status auf meiner Seite anzuzeigen.

    Aber wie gesagt ich frage jemanden aus den Umfeld ob er mir dabei hilft, ich weise ihn mal auf diesen Thread hier hin, damit er sich mal eure Tipps durchlesen kann.

  • Du solltest dich auf jedenfall mal mit regulären Ausdrücken befassen...
    http://www.danielfett.de/internet-und-o…aere-ausdruecke
    http://de.php.net/preg_match
    http://de.php.net/preg_match_all
    http://de.php.net/preg_replace
    http://de.php.net/file_get_contents

    dann wird das auch was... von nichts kommt nichts...

    PHP
    <?php
    $wr_content = file_get_contents('http://www.gamersfirst.com/warrock/?q=de');
    # <table width="283" border="0" align="center" cellpadding="0" cellspacing="0">(.*?)</table>
    if (preg_match('/<table width="283" border="0" align="center" cellpadding="0" cellspacing="0">(.*?)<\/table>/im', $wr_content, $matches))
    {
        print $matches[0];
    }
    ?>

    Für den Refresh würde ich jQuery (http://docs.jquery.com/Get) in Kombination mit setInterval (http://de.selfhtml.org/javascript/obj…tm#set_interval) benutzen... Naja aber im Endeffekt würde der Benutzer eh instinktiv die Seite einfach neuladen... ich denke nicht das sich der Status der Server so oft verändert, dass sich das lohnen würde...

    Gruß crAzywuLf :D

    Einmal editiert, zuletzt von crAzywuLf (9. Juni 2011 um 10:06)

  • Also ich muss crazywulf da auf alle Fälle Recht geben, bevor du mit sowas anfängst musste nen paar Grundlagen von php und js ausem ff können!
    Dann bin ich auch der Meinung das es kein Schwein juckt ob die sich selbst aktualisieren oder nicht weil jeder, wie schon gesagt, einfach reloaden wird!

    Desweiteren verwirrst du mich gerade da du 2 verschiedene Statistiken gezeigt hast, einmal die Server(wie viele drauf sind und so) und dann die Spieler(Kills, Death, etc.) was willst du jetzt konkret und wo machen?
    Bei der Spieler KD Statistik wäre es evtl. noch logisch die von alleine zu laden, aber selbst da wird wahrscheinlich JEDER reloaden um zu sehen wo er jetzt steht weil man es einfach von überall so gewohnt ist, es gibt bis jetzt nur extrem wenige Seiten die sowas von alleine machen und bei den zieht sich das aber von vorne bis hinten z.b. facebook!
    Die einfachere Variante wäre übrigens das du im Head der Seite einfach angibst das die sich aller 5Minuten reloaden soll, ist nen Ding von einer Codezeile, läd dann zwar wirklich ALLES neu auf der Seite aber ich vermute mal das die die online zoggen eh ne DSL Flat haben!? ;)
    Die einfachste Variante zum Seitenreload wäre dann:

    HTML
    <head>
    <meta http-equiv="refresh" content="5; URL=http://de.selfhtml.org/">
    </head>


    und statt http://de.selfhtml.org/ einfach die URL der Seite eingeben die neu geladen werden soll, funktioniert nur solange wie jede Seite eine eindeutige URL hat! ;)

    MfG

  • Das Problem bei der Option ist, wenn er beschließt, da eine Shoutbox oder ähnliches einzubauen, könnte die Seite mitten im Tippen neugeladen werden. (Ich dachte, ich warne jetzt, bevor er das tut und sich fragt, was los ist).

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • Eine Sache um das zu Umgehen mit der Shoutbox, ist quasi auch ne eigene Frage an den Rest!
    Wenn man per php eine html includet die sich über den Befehl im head "refresht" läd sich dann trotzdem nur die Datei neu?
    Wäre ja schön wenn aber ich glaube nicht, da der include BEfehl ja dafür sorgt das es Quasi eine Datei für den Browser wird.
    Ansonsten würde es auf alle Fälle über ein Frameset gehen da die Datein da getrennt bleiben!

    Und dann mal noch zu der Frage, was willst du nu eigentlich von welcher Statistik? Ich hab da irgendwie nicht mehr ganz durchgeblickt! ;)

    MfG

  • also zum einen hab ich die faxe mit dem metarefresh noch nich als include probiert...
    die shoutbox wird ausgelagert in eine eigene datei, diese wieder wird direkt included und auf den wrapper wo man des include drin hat macht man mit javascript nen interval wo man das include wieder und wieder lädt. hat den nachteil, dass man in der shoutbox nich scrollen kann, aber über ne simple checkbox lässt sich ja realisieren, dass man den refresh-interval aushelbelt.

    problem bei ajax in einem interval is dass der speicher ziemlich übel vollsifft mit garbage den javascript nich so richtig wegzuräumen versteht, also muss man da auch wieder selber für sorge tragen oder isch einfach damit abfinden dass man irgendwann mit 1 bis 1,5 gb speicherauslastung zu tun hat.

    und er wollte eine livestatistik von einer fremden website aktuell halten bei sich, dazu braucht es eben eine include-datei die als parser fungiert und den fremden benötigten content rausparsed und dann anzeigt.
    hab selber letztens erst nen ganz einfachen parser geschrieben, der nich ganz so aussieht, wie der vom wölfchen (habs nich mit preg_match gemacht) aber funktioniert ganz gut...