auswerten von html-datei

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • auswerten von html-datei

    Hi, ich habe jetzt ca 5 Stunden gesucht, gelesen, ausprobiert etc.
    ich habe auch halbwegs treffende einträge in der suche gefunden und alles von vorne bis hinten durchgelesen, aber ich bekomms nicht richtig hin.

    Erstmal, was ich realisieren möchte:
    auf der startseite eines chatroom-anbieters (also startseite eines jeden chats) sind die user angegeben, die in diesem chat drin sind, um das zu sehen muss man nicht angemeldet sein oder ähnliches.
    ich möchte jetzt mit einem php-script auslesen, ob der string

    <TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR=#10A0FF>
    <TR><TD><FONT SIZE=-1 COLOR=#000000><B>User online in Raum Lobby:</B></FONT>
    <IMG SRC="pics/fuell.gif" ALT="" WIDTH=4 HEIGHT=4><BR>
    <TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR="#FFFFFF">
    <TR><TD><FONT SIZE=-1>

    vorkommt (er existiert nur, wenn überhaupt user im chat sind). wenn er vorkommt, dann soll der text, der zwischen dem eben genannten stück quellcode und
    </FONT></TD></TR></TABLE></TD></TR></TABLE>
    <IMG SRC="pics/fuell.gif" ALT="" WIDTH=4 HEIGHT=4><BR>

    vorkommt ausgegeben werden, denn da stehen die user-namen.


    mein ansatz bisher ist:
    PHP-Code:
    <?
    $textdurchsuchen = implode('',file("index.html"));

    if (preg_match ("<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR=#10A0FF>
    <TR><TD><FONT SIZE=-1 COLOR=#000000><B>User online in Raum Lobby:</B></FONT>
    <IMG SRC="pics/fuell.gif" ALT="" WIDTH=4 HEIGHT=4><BR>
    <TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR="#FFFFFF">
    <TR><TD><FONT SIZE=-1>", "$textdurchsuchen")) 
    {
      //hier soll er die user-namen ausgeben

    else 
    {
        print "Kein user online";
    }
    ?>

    aber ich komm überhaupt nicht weiter

  • #2
    zum einen ist es vermutlich keine .html-Datei sondern vermutlich um ne .php-Datei, sonst würde das dingens nich laufen.

    hast du zugriff auf die index.php? (sprich läuft die auf deinem server? nach dem file()-Aufruf zu urteilen ja.)

    Wenn ja würd ich dir raten das ding mal anzuschauen, wie die user reingeschrieben werden.
    Die müssen ja irgendwoher kommen(Datenbank).

    Kommentar


    • #3
      hi, also die datei läuft leider ned bei mir,ich hatte mit die datei nur runtergeladen um mir den quelltext in aller ruhe anzugucken.
      die html is der output von ner php datei, ich kann auch die php-datei aufrufen, der output is derselbe.

      Kommentar


      • #4
        was heißt "ich komm nicht weiter"

        was genau ist das problem?

        ausserdem kann der Code nich funktionieren, weil du die Doppelten anführungszeichen rauslassen solltest.
        Zuletzt geändert von flyx; 25.03.2005, 20:24.

        Kommentar


        • #5
          ich schaffe es nicht, dass er ab dem ersten queltextstück (falls es existiert, also user online sind) bis zum 2. zitierten quelltext die datei ausgibt (aber eben nur ddiesen teil, weil da die user drinstehen, die online sind)

          Kommentar


          • #6
            ausserdem kann der Code nich funktionieren, weil du die Doppelten anführungszeichen rauslassen solltest.
            lesen Bildet:

            versuchs ma so


            PHP-Code:
            <?
            $textdurchsuchen = implode('',file("index.html"));

            if (preg_match ('<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR=#10A0FF>
            <TR><TD><FONT SIZE=-1 COLOR=#000000><B>User online in Raum Lobby:</B></FONT>
            <IMG SRC="pics/fuell.gif" ALT="" WIDTH=4 HEIGHT=4><BR>
            <TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR="#FFFFFF">
            <TR><TD><FONT SIZE=-1>', $textdurchsuchen)) 
            {
              //hier soll er die user-namen ausgeben

            else 
            {
                print "Kein user online";
            }
            ?>

            Kommentar


            • #7
              oh, sorry, das mit den anführungszeichen hatte ich übersehen.

              aber wie kann ich erreichen, dass eben nur dieser eine teil des textes ausgegeben wird (und zwar da: //hier soll er die user-namen ausgeben)
              schonmal vielen dank, dass du dich um mein problem kümmerst, das ist echt nett von dir
              Zuletzt geändert von ; 25.03.2005, 21:53.

              Kommentar


              • #8
                kleiner tipp. Es gibt auch noch string-funktionen.
                schau dir die mal durch, ob du damit was anfangen kannst.

                Kommentar


                • #9
                  danke, ich les' mir mal die handbucheinträge dazu durch, mal sehen ob ich daraus shclau werde *g*
                  DANKE

                  Kommentar


                  • #10
                    läuft der chat auf mysql???
                    wen ja lies die usernamen einfach von da aus!

                    (es gibt auch andere möglichkeitn für einen chat aber mysql ist die beste ...)

                    Kommentar


                    • #11
                      wenn ich das richtig verstanden habe, dann wird der Chat von einem Drittanbieter gehostet.

                      und ich glaube nicht, dass der dem Chat-user zugriff auf seine DaBa gibt. von daher ist das wohl nicht möglich.

                      Kommentar


                      • #12
                        ja, genau. ich habe nur zugriff auf die startseite des chats, also die html ausgabe, welche ich dann auswerten muss

                        Kommentar


                        • #13
                          juhuu, des klappt schonmal.
                          ich habs jetzt so gelöst und nicht mit preg_match:

                          PHP-Code:
                          <?
                          $textdurchsuchen = file_get_contents('mit.htm');

                          $treffer = strstr ($textdurchsuchen, '<TABLE CELLPADDING=2 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR=#10A0FF>
                          <TR><TD><FONT SIZE=-1 COLOR=#000000><B>User online in Raum Lobby:</B></FONT>
                          <IMG SRC="pics/fuell.gif" ALT="" WIDTH=4 HEIGHT=4><BR>
                          <TABLE CELLPADDING=5 CELLSPACING=0 BORDER=0 WIDTH="100%" BGCOLOR="#FFFFFF">
                          <TR><TD><FONT SIZE=-1>');

                          if ($treffer == true)
                          {
                          echo ("$treffer");
                          }
                          else 
                          {
                              print "Kein user online";
                          }

                          ?>

                          vielen dank für deine hilfe, sons wär ich wahrscheinlich ned drauf gekommen




                          edit: son mist, wenn ich das mit einer datei auf meinem pc versuche klappt alles prima, aber wehe ich versuch das mit der datei auf dem anderen server, dabei hab ich das auslesen schon so geändert, dass es eigentlich klappen müsste und es klappt auch, wenn ich die datei einfach einlesen(die externe) und dann ausgeben lasse. aber wenn ich die dann durchsuchen lasse gibt er mir nur an, dass keine user online sind, obwohl user online sind und das auch auf der startseite angezeigt wird.
                          hier nochmal mein quelltext in gekürzter version:

                          PHP-Code:
                          <?
                          $text = fopen("http://blabla.de/index.html","r"); 
                          if ($text) 

                          while(!feof($text)) 

                          $textdurchsuchen = fgets($text); 


                          fclose($text); 
                          }


                          $treffer = strstr ($textdurchsuchen, '...');


                          $treffer = str_replace('...', '', $treffer);

                          $treffer = str_replace(' ....
                          ', '', $treffer);


                          if ($treffer == true)
                          {
                          echo ("$treffer");
                          }
                          else 
                          {
                              print "Kein user online";
                          }


                          ?>
                          Zuletzt geändert von ; 27.03.2005, 03:15.

                          Kommentar


                          • #14
                            weis denn keiner, wie man das lösen könnte?
                            ich will ja auch nur nen denkansatz, bitte

                            Kommentar


                            • #15
                              Warum nimmst du jetzt auf einmal ne Schleife?
                              Und warum baust du die auch noch so, dass die Variable bei jedem Durchlauf überschrieben anstatt erweitert wird?
                              hopka.net!

                              Kommentar

                              Lädt...
                              X