olli: Datei zeilenweise rückwärts einlesen

Hallo,
ich möchte in einer bestehenden HTML Seite eine HTML Datei
einlesen und zeilenweise rückwärts ausgeben.
( Diese HTML Datei ist im Prinzip eine reine Text-Datei , außer daß einige Zeilen farblich unterlegt sind ! )
Kann mir jemand dabei helfen ?

Danke

  1. Tag,

    ich möchte in einer bestehenden HTML Seite eine HTML Datei
    einlesen und zeilenweise rückwärts ausgeben.

    In HTML geht das gar nicht.
    In JavaScript wäre es theoretisch denkbar, aber etwas kompliziert.

    -> Für Dein Vorhaben solltest Du am besten eine serverseitige Programmiersprache Deiner Wahl (Perl, PHP, ASP, JSP, Python,...)
    verwenden.

    Viele Grüße,
    Jörg

  2. Hallo,

    dein Problem ist imho nicht ganz trivial und nur mit HTML zu lösen.
    Was steht dir an verlässlichen serverseitigen/clientseitigen Technologien zur Verfügung?

    Plattformunabhängig:

    • lade die HTML Seite in den Speicher (zeilenweise in ein array)
    • stelle fest wieviele Zeilen vor dem EOF kommen bzw. wieviele Elemente das Array dann hat
    • erzeuge eine implizit/explizit rückwärtsläufige Schleife über dieses Array
    • gebe für jeden Schleifendurchlauf den Inhalt des jeweiligen Arrayelements wieder aus

    Aber aus ~~~html

    <table>
     <tr>
       <td>wert</td>
     </tr>
    </table>

      
    </table>  
     </tr>  
      <td>wert</td>  
    <tr>  
    <table>
    ~~~ werden, was syntaktisch/semantisch für HTML nicht mehr ganz zulässig wäre.  
      
    HTML Dateien sind im Prinzip immer Textdateien. Aber von allein können Textdateien jedoch keine farbig unterlegten Zeilen haben.  
      
    Setz dich bitte noch mal mit deinem Vorhaben auseinander.  
      
    Adios, Frank
    
    1. Hallo,

      dein Problem ist imho nicht ganz trivial und nur mit HTML zu lösen.
      Was steht dir an verlässlichen serverseitigen/clientseitigen Technologien zur Verfügung?

      Plattformunabhängig:

      • lade die HTML Seite in den Speicher (zeilenweise in ein array)
      • stelle fest wieviele Zeilen vor dem EOF kommen bzw. wieviele Elemente das Array dann hat
      • erzeuge eine implizit/explizit rückwärtsläufige Schleife über dieses Array
      • gebe für jeden Schleifendurchlauf den Inhalt des jeweiligen Arrayelements wieder aus

      Aber aus ~~~html

      <table>
      <tr>
         <td>wert</td>
      </tr>
      </table>

        
      
      > </table>  
      >  </tr>  
      >   <td>wert</td>  
      > <tr>  
      > <table>
      
      ~~~ werden, was syntaktisch/semantisch für HTML nicht mehr ganz zulässig wäre.  
      
      >   
      > HTML Dateien sind im Prinzip immer Textdateien. Aber von allein können Textdateien jedoch keine farbig unterlegten Zeilen haben.  
      >   
      > Setz dich bitte noch mal mit deinem Vorhaben auseinander.  
      >   
      > Adios, Frank  
        
      Danke für Deine Antwort.  
      Also das ganze läuft auf einem eigenem Apache Server. Somit lässt sich alles einsatzen was ich benötige. Wenn ich nur weiß was !  
      So zu nächst wird eine ganz normale Webseite geöffnet ( HTML-Datei ) welche eine zweite Datei/ Seite einliest. Diese  
      sieht in der regel wie folgt aus :  
        
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
      <html><head>  
        
        
        <meta content="text/html; charset=ISO-8859-15" http-equiv="content-type"><title>TEST SERVER</title></head><body>  
      <style="color: rgb(0="" 0="">  
      </style="color:><div style="text-align: justify;">  
      <pre>"TEST ZEILE 1"  
      "TEST Zeile 2"  
      "<span style="color: rgb(255, 0, 0);"> TEST ZEILE 3 </span><span style="color: rgb(255, 0, 0); font-weight: bold;"></span>"  
        
        
        
      Lässt sich die HTML Formatierung der einzulesenden Datei in eine bestehende HMTL Seite so nicht problemlos einbinden ?  
      
      
      1. Hallo olli.

        Nichts zu deinem eigentlichen Problem, sondern eher zum HTML:

        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html><head>

        <meta content="text/html; charset=ISO-8859-15" http-equiv="content-type"><title>TEST SERVER</title></head><body>
        <style="color: rgb(0="" 0="">

        Was bitte soll dies darstellen? Soll es ein style-Element werden, dann hat dies im body-Element nichts verloren. Soll es ein style-Attribut werden, dann fehlt hier der Elementname. Zudem lautete dann der Wert des style-Attributes „color: rgb(0=“, was kein gültiges CSS wäre. Der Name des nächsten (ungültigen) Attributes lautete dann „0“ und hätte keinen Wert.

        </style="color:><div style="text-align: justify;">

        Was auch immer dies hier werden sollte, es hat nicht geklappt.

        Einen schönen Montag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        debian/rules
      2. Tach,

        Also das ganze läuft auf einem eigenem Apache Server. Somit lässt sich alles einsatzen was ich benötige. Wenn ich nur weiß was !

        am Bwesten diejenige serverseitige Programmiersprache, die du am besten beherrscht bzw. am ehesten lernen willst.

        So zu nächst wird eine ganz normale Webseite geöffnet ( HTML-Datei ) welche eine zweite Datei/ Seite einliest.

        HTML ist keine Programmeirsprache und kann somit auch nichts einlesen.

        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html><head>
          <meta content="text/html; charset=ISO-8859-15" http-equiv="content-type"><title>TEST SERVER</title></head><body>
        <style="color: rgb(0="" 0="">
        </style="color:><div style="text-align: justify;">
        <pre>"TEST ZEILE 1"
        "TEST Zeile 2"
        "<span style="color: rgb(255, 0, 0);"> TEST ZEILE 3 </span><span style="color: rgb(255, 0, 0); font-weight: bold;"></span>"

        Das ist nichtmal syntaktisch korrektes HTML, auch wenn es entfernt daran erinnert.

        Lässt sich die HTML Formatierung der einzulesenden Datei in eine bestehende HMTL Seite so nicht problemlos einbinden ?

        Beim Inkludieren der Dateien, muß auf die erlaubte Syntax geachtet werden, außerdem dürfen gewisse Elemente (z.B. body, head, title) nicht beliebig oft auftreten. Darauf wird beim schreiben des nötigen Programms zu achten sein.

        mfg
        Woodfighter

        1. Tach,

          Also das ganze läuft auf einem eigenem Apache Server. Somit lässt sich alles einsatzen was ich benötige. Wenn ich nur weiß was !

          am Bwesten diejenige serverseitige Programmiersprache, die du am besten beherrscht bzw. am ehesten lernen willst.

          So zu nächst wird eine ganz normale Webseite geöffnet ( HTML-Datei ) welche eine zweite Datei/ Seite einliest.

          HTML ist keine Programmeirsprache und kann somit auch nichts einlesen.

          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html><head>
            <meta content="text/html; charset=ISO-8859-15" http-equiv="content-type"><title>TEST SERVER</title></head><body>
          <style="color: rgb(0="" 0="">
          </style="color:><div style="text-align: justify;">
          <pre>"TEST ZEILE 1"
          "TEST Zeile 2"
          "<span style="color: rgb(255, 0, 0);"> TEST ZEILE 3 </span><span style="color: rgb(255, 0, 0); font-weight: bold;"></span>"

          Das ist nichtmal syntaktisch korrektes HTML, auch wenn es entfernt daran erinnert.

          Lässt sich die HTML Formatierung der einzulesenden Datei in eine bestehende HMTL Seite so nicht problemlos einbinden ?

          Beim Inkludieren der Dateien, muß auf die erlaubte Syntax geachtet werden, außerdem dürfen gewisse Elemente (z.B. body, head, title) nicht beliebig oft auftreten. Darauf wird beim schreiben des nötigen Programms zu achten sein.

          mfg
          Woodfighter

          Hi,
          was sollte ich dann verwenden ...
          bin leider noch nicht so firm !
          Vielleicht kann jemand mir ein Code Beispiel geben !
          Also zu der einlesenden Datei , die kann auch nur so aussehen:
          1. Zeile :"TEST ZEILE 1"
          2.Zeile : "<span style="color: rgb(255, 0, 0);"> TEST ZEILE 3 </span><span style="color: rgb(255, 0, 0); font-weight: bold;"></span>"
          3. Zeile :"TEST ZEILE 3"

          somit fällt die HTML Formatierung weg ! Wichtig ist dabei nur , daß zb die Zeile 2 farblich anders ist ! ( es geht aber auch ohne ) !!!

  3. Hallo,

    ich möchte in einer bestehenden HTML

    PHP: Die also erstmal einlesen, da ist file_get_contents()
    eine Möglichkeit.

    $template = file_get_contents(bla.html);

    »»Seite eine HTML Datei

    einlesen und zeilenweise rückwärts ausgeben.

    Muß nicht html, kann auch txt  oder sonstwas sein. Doctype und weiter sehen ja im Template. s.o. Nun, Zeilenweise einlesen. Da eignet sich obige Funktionen weniger gut, also nehmen wir file()

    $inhalt = file(blubb.xxx);

    Damit steht die Datei Zeilenweise im array $inhalt.

    Die soll aber nun noch umsortiert werden, also bräuchen wir eine Funktion wie array_reverse, wenn ich mich nicht irre, Möglicherweise wäre auch eine andere Funktion besser geeignet.

    So nun noch $inhalt in $template einfügen.
    An der Stelle wo der Inhalt erscheinen soll, einen Platzhalter einbauen, z.B. %inhalt%

    diesen dann ersetzen, z. B.
    $template = str_replace("%inhalt%", $inhalt);

    dann mit echo $template; die Seite ausgeben.

    So ähnlich sollte es funktionieren.

    Viel Erfolg
    Ulrich