Lukas Schaufler: Wie kann ich Content aus einer anderen HTML Datei einlesen?

Hallo!

Ich habe folgendes Problem:

Lange habe ich nun gebraucht um mir eine Flash-seite zu basteln die einigermaßen Ausschaut.
Um mir die Aktualisierungen der HP zu erleichtern lade ich den Content der Seite aus einer externen HTML-Datei herein, da ich dann nicht immer alles neu kompilieren muss.

Jetzt möchte ich auch eine HTML Version der Page erstellen, wo ich aber  ebenfalls den Content aus der HTML Datei herauslese...wie mach ich das?

Ich würde das gerne ohne irgendwelche Datenbanken die am Server laufen müssen, etc. lösen?!?

Danke für eure Hilfe im Vorraus

Lg.

Lukas Schaufler
www.schaufler.cc

  1. Hi Lukas,

    Jetzt möchte ich auch eine HTML Version der Page erstellen, wo ich aber  ebenfalls den Content aus der HTML Datei herauslese...wie mach ich das?

    Mit HTML alleine wirst du das nicht schaffen, und auch mit Javascript nicht, da Javascript eine clientseitige Scriptsprache ist. Was du brauchst ist eine serverseitige Scriptsprache, wie z.B. PHP oder Perl.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:| [decode]
    Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
    1. Mit HTML alleine wirst du das nicht schaffen, und auch mit Javascript nicht, da Javascript eine clientseitige Scriptsprache ist. Was du brauchst ist eine serverseitige Scriptsprache, wie z.B. PHP oder Perl.

      Ich hätte mir mal erzählen lassen, dass es eine Möglichkeit gebe per AktiveX auf externe Dateien zugreifen zu können ?!?

      Sollte es gehen - dann wie?
      Für diejenigen die mir helfen können poste ich hier mal einen Auszug meiner externen HTML-Datei die Flash verwendet:

      ---------------------------------------------------------------------
      &contacts_txt3=Vorname:
      &contacts_txt4=Nachname:
      &contacts_txt5=Email:
      &contacts_txt6=Kommentar:
      &contacts_txt7=reset
      &contacts_txt8=senden

      &privacy_txt1=Datenschutzrichtlinie
      &privacy_txt2=<font color="#438092">Gesammelte Informationen:</font> Mit dem Besuch dieser Website werden folgende Informationen über Sie gesammelt: Browser, IP Adresse, Auflösung ihres Bildschirms, dauer des Besuchs, welche Seiten angeschaut wurden, Datentransfers, Uhrzeit, Anzahl der Besuche, Bandbreite, Standort und Betriebssystem. Diese Daten dienen nur zur Optimierung der Website und um das Besucherverhalten zu analysieren. Diese Daten werden Standartmäßig von allen Domain Betreibern gesammelt. Die gesammelten Informationen werden nicht an dritte weitergegeben, außer es handelt sich um juristische Vorgehen!

      <font color="#438092">Inhalt:</font> Der auf dieser Webseite präsentierte Inhalt ist Eigentum von Lukas und Vitus Schaufler. Kopie, Abänderungen, Weiterverwendung und dergleichen ist Untersagt! Wir behalten uns vor Rechtschreib-, Grammatik- und Grafikfehler jederzeit und ohne Mitteilung zu ändern. Wir behalten uns vor den Inhalt der Seite jederzeit zu ändern! Copyright liegt bei Lukas und Vitus Schaufler.

      <font color="#438092">Hyperlinks:</font> Wir übernehmen keine Verantwortung für die, von uns, verlinkten Seiten.

      <font color="#438092">Gästebuch:</font> Wir übernehmen keine Haftung für die, von Ihnen, verfassten Beiträge. Diese Beiträge konnen jederzeit von dritten gelesen werden. Wir übernehmen keine Haftung für die, von Dritten, verursachten Schäden.

      Email: <font color="#438092"><u><a href="http://www.schaufler.cc">lukas@schaufler.cc</a></u></font>
      ---------------------------------------------------------------------

      Möchte nicht aufmüpfig sein - jedoch möchte ich mir ersparen sich jetzt auch noch in Datenbanken fortzubilden *g*

      1. Tag Lukas.

        Ich hätte mir mal erzählen lassen, dass es eine Möglichkeit gebe per AktiveX auf externe Dateien zugreifen zu können ?!?

        Nein, mittels ActiveX hast du nur auf Dateien Zugriff, die clientseitig verfügbar sind. Voraussetzungen sind, dass beim Client als Betriebssystem Windows und als Browser der Internet Explorer zum Einsatz kommen.

        Sollte es gehen - dann wie?

        Wie dir Dennis schon schrieb: nur mit einer serverseitigen Technik. Welche du einsetzt, hängt von euren und von den Fähigkeiten des Servers ab.

        Siechfred

        --
        «Ich liebe euch doch alle!»
        1. Hallo Siechfred

          Ich hätte mir mal erzählen lassen, dass es eine Möglichkeit gebe per AktiveX auf externe Dateien zugreifen zu können ?!?

          Sollte es gehen - dann wie?

          Wie dir Dennis schon schrieb: nur mit einer serverseitigen Technik. Welche du einsetzt, hängt von euren und von den Fähigkeiten des Servers ab.

          Hier im Forum wurde doch mehrfach schon
          XMLHttpRequest als Möglichkeit genannt, z.B. in </archiv/2005/2/t101223/#m621344> f oder </archiv/2005/1/t98900/#m604032>. Mit der Einschränkung auf entsprechend moderne Browser.

          Freundliche Grüße

          Vinzenz

          1. Tag Vinzenz.

            Hier im Forum wurde doch mehrfach schon XMLHttpRequest als Möglichkeit genannt [...]

            Ja, allerdings habe ich damit noch keine Erfahrungen gemacht und würde deswegen den Weg über eine serverseitige Technik vorziehen.

            Siechfred

            --
            «Ich liebe euch doch alle!»
            1. Tag Vinzenz.

              Hier im Forum wurde doch mehrfach schon XMLHttpRequest als Möglichkeit genannt [...]

              Kleiner Nachtrag: in den mir hier zur Verfügung stehenden Testbrowsern funktioniert die open-Methode (die zwingend gebraucht würde) nur im IE zuverlässig, sowohl Opera 7.23 als auch Mozilla 1.0.1 verweigern ihren Dienst.

              Siechfred

              --
              «Ich liebe euch doch alle!»
              1. Hallo Siechfred

                Hier im Forum wurde doch mehrfach schon XMLHttpRequest als Möglichkeit genannt [...]

                Kleiner Nachtrag: in den mir hier zur Verfügung stehenden Testbrowsern funktioniert die open-Methode (die zwingend gebraucht würde) nur im IE zuverlässig, sowohl Opera 7.23 als auch Mozilla 1.0.1 verweigern ihren Dienst.

                Da hast Du mehr Erfahrung als ich. Ich hatte es nur aus diversen Postings im Hinterkopf. Selbstverständlich würde ich auch eine serverseitige Methode vorziehen.

                Freundliche Grüße und Gute Nacht

                Vinzenz

                1. Hallo!

                  Vielen Dank für eure antworten!
                  Wie ich gelesen habe wird mir wohl nichts anderes überbleiben als wirklich eine Datenbank zu betreiben.

                  Da dies nun aber absolutes neuland für mich ist würde ich gerne fragen welche Datenbank ich am besten mit einem W2K SB-Server betreiben sollte (Sicherheit, Kosten, möglichst einfache Benutzerführung)?

                  Kann eine DB die Datei (siehe Auszug vorheriges Post) ohne Modifizierung verwenden - ansonsten müsste ich wieder alles in der Flash Version ändern was mir gar nicht gefallen würde :(...

                  Danke+Lg.

                  Lukas Schaufler
                  www.schaufler.cc

                  1. Hi,

                    Wie ich gelesen habe wird mir wohl nichts anderes überbleiben als wirklich eine Datenbank zu betreiben.

                    ? Wenn die HTML-Dateien ohnehin vorliegen, warum dann diese nicht schlicht und ergreifend mit PHP auswerten/umwandeln/was-auch-immer?

                    Gruß, Cybaer

                    --
                    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                    1. ? Wenn die HTML-Dateien ohnehin vorliegen, warum dann diese nicht schlicht und ergreifend mit PHP auswerten/umwandeln/was-auch-immer?

                      Verzeih zeih mir meine naive Frage...
                      aber brauche ich für PHP nicht auch eine DB?

                      Lg.

                      Lukas Schaufler
                      www.schaufler.cc

                      1. Hi,

                        Verzeih zeih mir meine naive Frage...

                        Keine Ursache.

                        aber brauche ich für PHP nicht auch eine DB?

                        Umgekehrt: Für eine DB brauchst du PHP (oder eine andere serverseitige Sprache).

                        Gruß, Cybaer

                        --
                        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                        1. Ich habe mich jetzt ein bisschen in PHP fortgebildet und folgendes gefunden:

                          Ich kann mit dem Kommando "fopen" eine beliebige Datei auf dem Server öffenen und auslesen?!?
                          Ergo - ich brauche doch keine DB und muss nur PHP auf meinem Server laufen haben?!?

                          Wenn das stimmt wie kann ich dann das Kommando geben den Text hinter einer bestimmten Variablen auszugeben?!?

                          Beispiel:

                          &news_txt1=neues

                          &news_txt2=20.02.2005<br>
                          <font color="#438092"><u><a href="http://www.google.at/search?hl=de&ie=ISO-8859-1&q=site%3Awww.schaufler.cc&btnG=Google+Suche&meta=" target="_blank">Die neue Homepage von Lukas Schaufler.</a></u></font>

                          &news_txt3=Lange hat es gedauert um von der langweiligen Startgrafik zu dieser Page zu gelangen, aber wir sind nun stolz auf unsere Page und wünschen euch noch viel Spass <br><font color="#438092"><u><a href="http://www.google.at/search?hl=de&ie=ISO-8859-1&q=site%3Awww.schaufler.cc&btnG=Google+Suche&meta=" target="_blank">mehr erfahren</a></u></font>

                          Wie würde ich jetzt den Befehl schreiben a la - gib den Text nach "&news_txt1=" aus und beleib vor "&news_txt_2=" stehen?!?

                          Würden dann die HTML Befehle auch übernommen werden?!?

                          Bitte verzeiht meine vielen Fragen - Neuland zu betreten ist immer eine große Unbekannte...

                          Lg.
                          Lukas Schaufler
                          www.schaufler.cc

                          P.S: Um euch ein Bild von meinem Vorhaben zu geben, könnt Ihr euch mal die Seite anschauen um vielleicht besser zu verstehen was ich meine...

                          Man kommt auch die Seite www.schaufler.cc/main.html --> eine Flash detection die bei installiertem Flash auf www.schaufler.cc/Lukas/flash_main.html umleitet --> ansonsten auf www.schaufler.cc/Lukas/html_main.html.

                          Der Content aus der Flash Seite wird von der Seite www.schaufler.cc/Lukas/flash-steuerung.html ausgelesen und eingetragen (siehe oberes Beispiel).

                          Genau diesen Content möchte ich ebenfalls für die HTML Version auslesen und das jeweilige Dokument eintragen...

                          1. Hi,

                            Ich kann mit dem Kommando "fopen" eine beliebige Datei auf dem Server öffenen und auslesen?!?

                            Auch das.

                            Ab V4.3 wäre in diesem Fall wohl file_get_contents() brauchbarer.

                            Ergo - ich brauche doch keine DB und muss nur PHP auf meinem Server laufen haben?!?

                            Jup.

                            Wie würde ich jetzt den Befehl schreiben a la - gib den Text nach "&news_txt1=" aus und beleib vor "&news_txt_2=" stehen?!?

                            Angenommen, die Daten stünden in $data:

                            $nr=1;
                            $header="&news_txt";
                            $start=$header.$nr."=";

                            $news=to(from($data,$start,strlen($start)),$header);

                            echo $news;

                            function from($inp,$need,$offset=0) {
                            $a=strpos($inp,$need);
                            $a=substr($inp,$a+$offset);
                            return $a;
                            }

                            function to($inp,$need,$offset=0) {
                            $a=strpos($inp,$need);
                            $a=substr($inp,$offset,$a-$offset);
                            return $a;
                            }

                            Würden dann die HTML Befehle auch übernommen werden?!?

                            Jup.

                            Bitte verzeiht meine vielen Fragen - Neuland zu betreten ist immer eine große Unbekannte...

                            Das gibt sich mit der Zeit ... ;-)

                            Gruß, Cybaer

                            --
                            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                            1. Lass mich das mal kurz rekapitulieren...

                              Angenommen, die Daten stünden in $data:

                              --> $data würde ich vorher meine Qelldatei zuweisen (flash_steuerung.html)

                              $nr=1;
                              $header="&news_txt";
                              $start=$header.$nr."=";

                              --> Hier wird die jeweilige Variable zusammengesetz und als $start abgespeichert?

                              $news=to(from($data,$start,strlen($start)),$header);

                              --> Hier wird $news mit folgenden Informationen abgespeichert - aus der Qelldatei wird die Variable $start gesucht, dann eine Zeichenkettenlänge definiert (warum?) und zuletzt noch irgendetwas mit der $header variablen?

                              echo $news;

                              --> Hier wird der Inhalt von $news ausgegeben?

                              function from($inp,$need,$offset=0) {
                              $a=strpos($inp,$need);
                              $a=substr($inp,$a+$offset);
                              return $a;
                              }

                              function to($inp,$need,$offset=0) {
                              $a=strpos($inp,$need);
                              $a=substr($inp,$offset,$a-$offset);
                              return $a;
                              }

                              --> Hier wird deffiniert, dass nur der Text innerhalb der jeweiligen Variabeln der Qelldatei ausgegeben wird bzw. eine bestimmte Textlänge?
                              Woher kommen die Werte in $inp und $need?
                              Müsste diese Berechnung nicht vor echo $news stehen?

                              Gesamtzusammenfassung:

                              Ich schreibe eine PHP Datei die den Quelltxt in einer Variablen $data abspeichert?
                              Ich definiere in der PHP Variablen wo sich der jeweilige Content befindet und speichere diese jeweils eigens ab (Bsp.: $start)?
                              Ich definiere die Länge des Inhalts der jeweiligen Variablen (die funktionen)?
                              An Hand der Zeichenlängen speichere ich den jeweiligen Inhalt der jeweiligen Variablen ab (Bsp.:$news).
                              Jetzt kann ich nach lust und laune jeweils die "content Variablen" (Bsp.: echo $news;) ausgeben.

                              Ist das so korrekt?!?

                              Bitte verzeiht meine vielen Fragen - Neuland zu betreten ist immer eine große Unbekannte...

                              Das gibt sich mit der Zeit ... ;-)

                              Gruß, Cybaer

                              --> Danke, dass du dir so viel Zeit nimmst!!! - Gib bescheid so bald ich nerve *g*

                              1. Hi,

                                Lass mich das mal kurz rekapitulieren...

                                Zutreffendes weggelassen. ;-)

                                $news=to(from($data,$start,strlen($start)),$header);
                                --> Hier wird $news mit folgenden Informationen abgespeichert

                                *Ab* Vorhandensein von $start ...

                                • aus der Qelldatei wird die Variable $start gesucht,

                                ... also dem Inhalt von $start ...

                                dann eine Zeichenkettenlänge definiert (warum?)

                                ... aber der Inhalt von $start soll ja außen vor bleiben (also erst nach so vielen Bytes anfangen, wie $start lang ist).

                                Das wäre der Aufruf der Funktion from()

                                und zuletzt noch irgendetwas mit der $header variablen?

                                Das ist der Aufruf der Funktion to(). Sie liefert den String *bis* zum nächsten News-Header. Und halt einfach beide Aufrufe kompakt ineinander verschachtelt (ging natürlich auch getrennt).

                                --> Hier wird deffiniert, dass nur der Text innerhalb der jeweiligen Variabeln der Qelldatei ausgegeben wird bzw. eine bestimmte Textlänge?

                                Nein. Das sind die (ganz allgemeinen) Funktionen, die bei

                                $news=to(from($data,$start,strlen($start)),$header);

                                aufgerufen werden.

                                Woher kommen die Werte in $inp und $need?

                                Sie werden eben dort (beim Funktionsaufruf) übergeben.

                                Müsste diese Berechnung nicht vor echo $news stehen?

                                Funktionen!

                                Und nein, nur in ganz alten PHP-Versionen müssen die vorab stehen.

                                Ich schreibe eine PHP Datei die den Quelltxt in einer Variablen $data abspeichert?

                                "einliest" - Du meinst aber das gleiche.

                                Ich definiere in der PHP Variablen wo sich der jeweilige Content befindet

                                Ja, indem Du die Nummer ($nr) änderst. Der Header ist ja immer gleich.

                                Du kannst diese Nummer z.B. auch per URL übergeben:

                                news.php?nr=1

                                und statt $nr=1; müßte dann im Quelltext stehen:

                                $nr=$_GET["nr"];

                                Dann hast Du eine einzige PHP-Datei für x-beliebige Newseinträge.

                                und speichere diese jeweils eigens ab (Bsp.: $start)?

                                An $start mußt Du nichts mehr ändern - das geht automatisch.

                                Jetzt kann ich nach lust und laune jeweils die "content Variablen" (Bsp.: echo $news;) ausgeben.
                                Ist das so korrekt?!?

                                Ja.

                                --> Danke, dass du dir so viel Zeit nimmst!!!

                                Soll jetzt nicht arrogant klingen, aber das ist halt "Pippi-Kram"! ;-)

                                • Gib bescheid so bald ich nerve *g*

                                Dann kommt einfach nix mehr! ;->

                                Gruß, Cybaer

                                --
                                Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                                1. Hallo!

                                  Ich bekomme bei diesem Befehl die Fehlermeldung "undefined variable".
                                  $news=to(from($data,$start,strlen($start)),$header);

                                  Ich nehme mal an das da $data daran schuld ist weil es keinen Wert zugewiesen bekommen hat (oder ich versteh mal wieder was falsch *g*)

                                  Wenn ich vorher Data definiere mit $data=0; dann bekomme ich eine schone weisse leere Seite *g*.

                                  Leider finde ich den Befehl in der Befehlsreferenz von Selfphp nicht und so muss ich dann mal wohl wieder fragen...

                                  Lg.

                                  Lukas Schaufler
                                  www.schaufler.cc

                                  Das File liegt auch online unter http://www.schaufler.cc/Lukas/test.php

                                  1. Ich entschuldige vorheriges Post...
                                    nicht nachgedacht!!! *g*

                                    Sorry, Sorry, Sorry

                                    ES FUNKTIONIERT ALLES EINWANDFREI!!! (habe vergessen meine html Datei in Data zu laden - ich depp ich!!!)

                                    Danke, Danke, Danke!!!

                                    Allerbesten Dank @Cybaer!!!

                                2. Hallöchen!

                                  Doch noch eine Frage...

                                  so bald ich die Abfrage nochmals starte (in einem anderen Frame) bekomme ich folgende Fehlermeldung:

                                  Fatal error: Cannot redeclare from() (previously declared in D:\Schaufler.cc\Lukas\html_neues.php:58) in D:\Schaufler.cc\Lukas\html_neues.php on line 92

                                  Zuerst dachte ich mir das es daran liegen könnte, dass die Variablen der Funktion schon belegt sind und hab einfach neue definiert (einfach eine Zahl hinter der Variablen) aber ich bekomme trotzdem den selben Fehler.

                                  Muss ich diese Variablen vorher wieder entladen?

                                  Lg.
                                  Lukas Schaufler
                                  www.schaufler.cc

                                  1. Hi,

                                    Fatal error: Cannot redeclare from() (previously declared in D:\Schaufler.cc\Lukas\html_neues.php:58) in D:\Schaufler.cc\Lukas\html_neues.php on line 92

                                    Du hast die Funktion from() zweimal drin?

                                    Mit Frames an sich kann das aber nichts zu tun haben.

                                    Muss ich diese Variablen vorher wieder entladen?

                                    Nein. Variablen in Funktionen sind, sofern nicht explizit als global definiert, lokal. Sie gelten nur innerhalb der Funktion.

                                    Gruß, Cybaer

                                    --
                                    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                                    1. Du hast die Funktion from() zweimal drin?

                                      Na ja...ich möchte ja in der Page mehrmals Text auslesen - ergo habe ich für jeden Abruf den PHP Code wieder eingefügt um dort den neuen Text einzutragen...

                                      Beispiel:

                                      Frame 1:
                                      PHP Code1 gibt aus --> &news_txt1 (PHP String $news1)

                                      Frame 2:
                                      PHP Code 2 gibt aus --> &news_txt2 (PHP String $news2)

                                      und so weiter...

                                      Ich bekomme es, dank deiner Hilfe, hin, dass er mir einmal den Text richtig ausliest und übergibt - sobalt ich aber ein aderes Fragment auslesen und übergeben möchte bekomme ich den Fehler.

                                      Lg.

                                      Lukas Schaufler

                                      1. Hi,

                                        Du hast die Funktion from() zweimal drin?
                                        Na ja...ich möchte ja in der Page mehrmals Text auslesen - ergo habe ich für jeden Abruf den PHP Code wieder eingefügt um dort den neuen Text einzutragen...

                                        Frameseiten sind unterschiedliche Dokumente und somit für PHP irrelevant.

                                        Relevant ist, was in der Seite steht, die den Fehler produziert.

                                        Ich bekomme es, dank deiner Hilfe, hin, dass er mir einmal den Text richtig ausliest und übergibt - sobalt ich aber ein aderes Fragment auslesen und übergeben möchte bekomme ich den Fehler.

                                        Du mußt nur die $nr ändern. Sinnvollerweise packt man das in eine Funktion. Auch sollte man vielleicht noch abfragen, ob der News-Eintrag überhaupt vorhanden ist. Mein Script sollte Dir aufzeigen, daß so etwas leicht möglich ist - es ist nicht die "ausgefeilte Lösung", für die ich normalerweise bezahlt werde. =;-)

                                        Aber sei's drum - noch ein kleiner Schubser ;-):

                                        $data=<<<MyNews
                                        &news_txt1=neues

                                        &news_txt2=20.02.2005<br>
                                        <font color="#438092"><u><a href="http://www.google.at/search?hl=de&ie=ISO-8859-1&q=site%3Awww.schaufler.cc&btnG=Google+Suche&meta=" target="_blank">Die neue Homepage von Lukas Schaufler.</a></u></font>

                                        &news_txt3=Lange hat es gedauert um von der langweiligen Startgrafik zu dieser Page zu gelangen, aber wir sind nun stolz auf unsere Page und wünschen euch noch viel Spass <br><font color="#438092"><u><a href="http://www.google.at/search?hl=de&ie=ISO-8859-1&q=site%3Awww.schaufler.cc&btnG=Google+Suche&meta=" target="_blank">mehr erfahren</a></u></font>
                                        MyNews;

                                        echo getNews($data,1);
                                        echo getNews($data,2);
                                        echo getNews($data,3);

                                        Das kann man auch noch in in eine Schleife packen, in einem Array ablegen, etc.

                                        Die benötigten Funktionen:

                                        function getNews($data,$nr=1) {
                                        $header="&news_txt";
                                        $start=$header.$nr."=";
                                        return to(from($data,$start,strlen($start)),$header);
                                        }

                                        function from($inp,$need,$offset=0) {
                                        $a=strpos($inp,$need);
                                        if($a!==FALSE) { $a=substr($inp,$a+$offset); }
                                        return $a;
                                        }

                                        function to($inp,$need,$offset=0) {
                                        $a=strpos($inp,$need);
                                        return ($a!==FALSE)?substr($inp,$offset,$a-$offset):$inp;
                                        }

                                        Die letzten beiden habe ich noch ein wenig optimiert (mit unterschiedlicher Vorgehensweise - schon wg. des Lerneffekts ;)), damit nicht vorhandene Nummern nichts falsches zurückliefern (Änderung in from()) und am Ende ist jetzt auch keine abschließende Kennung mehr erforderlich (Änderung in to()).

                                        Gruß, Cybaer

                                        --
                                        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
                                        1. Hallöchen!

                                          Also...jetzt funktioniert natürlich alles!

                                          Der Wink mit dem Zaunpfahl (besser gesagt mit dem ganzen Zaun *g*) hat super hingehauen!
                                          Das einzige was ich tun musste war immer einen zusätzlichen Dummy in meiner Steuerdatei einfügen, da sonst bei Ende der jeweiligen Variablenkette (Bsp.: &news_txt4=Bla, Bla, Bla) die Restliche Datei ausgegeben wird, da die Funktion ja nach der nächsten Variablen mit dem selben Namen sucht ($header).

                                          Ich habe mir schon überlegt noch eine Bedingung einzufügen a la ($nr=kleiner 5) aber das wären nur zusätzliche Sorgen bei der Umsetzung und mein dynamischer Text wäre immer durch die Bedingung beschränkt.

                                          Jetzt gibts einfach eine Dummy-variable am jeweiligen Ende (&news_txt5=Dummy - bitte nicht löschen!!!)...

                                          Das macht es auch sicherer wenn mal ein anderer Editiert *g*...

                                          Besten Dank noch mal & Lg.

                                          Lukas Schaufler
                                          www.schaufler.cc

                                          P.S.: das vorläufige Egebniss kann man unter dem direkten Link http://www.schaufler.cc/Lukas/html_neues.php sehen!

                                          1. Hi,

                                            Das einzige was ich tun musste war immer einen zusätzlichen Dummy in meiner Steuerdatei einfügen, da sonst bei Ende der jeweiligen Variablenkette (Bsp.: &news_txt4=Bla, Bla, Bla) die Restliche Datei ausgegeben wird, da die Funktion ja nach der nächsten Variablen mit dem selben Namen sucht ($header).

                                            Ähm, eigentlich nicht. Die *erste* Version von to() brauchte am Ende ein "&news_txt" (danach wird als Abschluß des Eintrags gesucht). Die *zweite* Version gibt i.d.T. den kompletten Rest (auch one Dummy) aus, da es eben der letzte Eintrag ist.

                                            Das macht es auch sicherer wenn mal ein anderer Editiert *g*...

                                            Verbessern kann man immer ... ;-)

                                            Besten Dank noch mal & Lg.

                                            Bitte.

                                            Aber was heißt "Lg."?

                                            Gruß, Cybaer

                                            --
                                            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    2. Hi,

      Mit HTML alleine wirst du das nicht schaffen, und auch mit Javascript nicht, da Javascript eine clientseitige Scriptsprache ist.

      Selbstverständlich geht das mit JavaScript, Frames (oder einem IFrame) und DOM.

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. Hi Cybaer,

        Mit HTML alleine wirst du das nicht schaffen, und auch mit Javascript nicht, da Javascript eine clientseitige Scriptsprache ist.

        Selbstverständlich geht das mit JavaScript, Frames (oder einem IFrame) und DOM.

        Mit Javascript kannst du ein paar primitive "Versuche" machen - aber mehr als "Versuche" ist es in meinen Augen nicht, da es eben von einer clientseitigen Technik abhängt.

        Und Frames? Würdest du Frames als Möglichkeit bezeichnen, Inhalte einzubinden? Ich nicht, ich betrache Frames viel mehr als die Möglichkeit in einer Seite eine andere Seite zu laden - lediglich Informationen einbinden kannst du hier auch nicht.

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:| [decode]
        Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
        1. Hi,

          Mit Javascript kannst du ein paar primitive "Versuche" machen

          Keineswegs. Diesbezügliches ist übrigens auch im Archiv zu finden.

          da es eben von einer clientseitigen Technik abhängt.

          Wie bei jeder Technik, gelten auch hier systemimmanente Einschränkungen. Inwieweit diese relevant sind (z.B. Intranet oder auf einer CD mitgelieferter, "Fertig-Browser"), ist hingegen nicht unbedingt zu verallgemeinern.

          Und Frames? Würdest du Frames als Möglichkeit bezeichnen, Inhalte einzubinden?

          Selbstverständlich.

          Ich nicht, ich betrache Frames viel mehr als die Möglichkeit in einer Seite eine andere Seite zu laden - lediglich Informationen einbinden kannst du hier auch nicht.

          Stell Dir einfach mehrere Datensammlungen als Flat-Files im HTML- (oder auch XML-)Format vor. Stell Dir ferner vor, daß Du solche Datensammlungen nach Belieben und Bedarf via einem (unsichtbaren) (I)Frame (deren Anzahl mittels JS ja auch noch nach Belieben zur Laufzeit variiert werden kann) vorhälst oder austauscht. Stell Dir ferner vor, auf diese Datensammlung via frames-Objekt und W3C-DOM-Knoten/innerHTML nunmehr wahlfrei zugreifen zu können.

          Du hast mit JS ein Problem, wenn Du Daten sichern möchtest (jetzt mal von Cookies abgesehen). Du hast ganz bestimmt kein Problem, Daten auszulesen oder zu verändern. Im Prinzip könntest Du auch eine Offline-Wikipedia mit JS hinkriegen, und für die umfangreichen Grunddaten auf CD/DVD zugreifen, während Änderungen auf einem Server gelagert und von diesem ggf. abgerufen werden (jedenfalls bis zum nächsten CD/DVD-Update, wo die Änderungen dann ebenfalls offline zur Verfügung stehen).

          Gruß, Cybaer

          --
          Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
          1. Hi Cybaer,

            Wie bei jeder Technik, gelten auch hier systemimmanente Einschränkungen. Inwieweit diese relevant sind (z.B. Intranet oder auf einer CD mitgelieferter, "Fertig-Browser"), ist hingegen nicht unbedingt zu verallgemeinern.

            Ok, wenn du den Browser mitlieferst...

            Wobei du eigentlich nicht ganz rechts hast mit "Wie bei jeder Technik" - denn natürlich muss der Server bestimmte Vorraussetzungen erfüllen bzw. schränkt PHP ein, aber das Tolle daran ist ja eigentlich, dass der Client (um den es ja im Internet eigentlich immer geht) davon nichts mitkriegt.

            Und Frames? Würdest du Frames als Möglichkeit bezeichnen, Inhalte einzubinden?

            Selbstverständlich.

            Kannst du Inhalte in einem Frame mit einer CSS Datei in der Hauptdatei formatieren? (Ohne eine Zusatztechnik) Kannst du "Einzelteile" aus dem Frame, also einzelne Inhalte weiterverarbeiten?

            Das war das was ich meinte - mit Frames bindest du eine komplette _Seite_ ein, aber keinen reinen Inhalte ;-)

            Ich nicht, ich betrache Frames viel mehr als die Möglichkeit in einer Seite eine andere Seite zu laden - lediglich Informationen einbinden kannst du hier auch nicht.

            Stell Dir einfach mehrere Datensammlungen als Flat-Files im HTML- (oder auch XML-)Format vor. Stell Dir ferner vor, daß Du solche Datensammlungen nach Belieben und Bedarf via einem (unsichtbaren) (I)Frame (deren Anzahl mittels JS ja auch noch nach Belieben zur Laufzeit variiert werden kann) vorhälst oder austauscht. Stell Dir ferner vor, auf diese Datensammlung via frames-Objekt und W3C-DOM-Knoten/innerHTML nunmehr wahlfrei zugreifen zu können.

            Ok, kann ich mir alles vorstellen - also du hast natürlich irgendwie, irgendwo Recht *g*

            Aber trotzdem würde ich so etwas keinem empfehlen - Inhalte mit Javascript aus unsichtbaren Frames auslesen, das ist schon was ziemlich abwegiges ... finde zumindest ich.

            Du hast mit JS ein Problem, wenn Du Daten sichern möchtest (jetzt mal von Cookies abgesehen). Du hast ganz bestimmt kein Problem, Daten auszulesen oder zu verändern. Im Prinzip könntest Du auch eine Offline-Wikipedia mit JS hinkriegen, und für die umfangreichen Grunddaten auf CD/DVD zugreifen, während Änderungen auf einem Server gelagert und von diesem ggf. abgerufen werden (jedenfalls bis zum nächsten CD/DVD-Update, wo die Änderungen dann ebenfalls offline zur Verfügung stehen).

            Hehe, dann fang mal mit deinem Offline Wikipedia an ;-))

            Aber wie willst du Änderungen auf einem Server lagern? Du hast doch mit Javascript prinzipiell erst mal keine Möglichkeit auf einem Server zu speichern/lagern...

            MfG, Dennis.

            --
            Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
            Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
            1. Hi,

              Ok, wenn du den Browser mitlieferst...

              Warum ich? =;-) Solche "Offline-Browser" kann man auf Open-Source-Basis selbst erstellen oder man kann für fertige Lösungen Lizenzen erwerben. Auf Heft-CDs findest Du i.d.R. welche (c't, PC-Magazin, ...). Und auf Fachmessen entsprechende Anbieter dafür. 8-)

              aber das Tolle daran ist ja eigentlich, dass der Client (um den es ja im Internet eigentlich immer geht) davon nichts mitkriegt.

              Und das Tolle an JS ist halt, daß der Server davon nichts mitkriegt. ;) Und überhaupt: Ich wüßte nicht, warum man HTML und Internet quasi auf eine Stufe stellen sollte. Beide bedingen nicht einander und kommen auch ganz vorzüglich ohne das andere aus.

              Kannst du Inhalte in einem Frame mit einer CSS Datei in der Hauptdatei formatieren? (Ohne eine Zusatztechnik) Kannst du "Einzelteile" aus dem Frame, also einzelne Inhalte weiterverarbeiten?

              Nein, dafür dient u.a. eben ja auch JavaScript. ;) Es ist sicherlich kein Zufall, daß JS und Frames (inkl. des JS-frames-Objektes nebst parent & Co. sowie deren Möglichkeiten) gleichzeitig eingeführt wurden.

              Das war das was ich meinte - mit Frames bindest du eine komplette _Seite_ ein, aber keinen reinen Inhalte ;-)

              :) Eine Seite mit "semantischem Markup" ist immer "reiner Inhalt".

              Aber um Inhalte zu verarbeiten oder auch nur zu formatieren bedarf es immer einer "Zusatztechnik" - ob das nun Layout-Tags, CSS, JS  oder XSLT ist, sei mal dahingestellt.

              Ok, kann ich mir alles vorstellen - also du hast natürlich irgendwie, irgendwo Recht *g*

              Dann stell dir jetzt noch vor, daß man so etwas auch noch praktisch macht. ;-)

              Und ja: Ich war so frei. ;)

              Aber trotzdem würde ich so etwas keinem empfehlen - Inhalte mit Javascript aus unsichtbaren Frames auslesen, das ist schon was ziemlich abwegiges ... finde zumindest ich.

              Ich finde es keineswegs abwegig - ich finde vielmehr, daß es auf dieser Welt *weitaus* "abwegigeres" gibt, was trotzdem (oder gerade deswegen ;->) gemacht wird! ;-)

              Hehe, dann fang mal mit deinem Offline Wikipedia an ;-))

              Wenn ich mich mal zur Ruhe setze vielleicht. ;-)

              Aber wie willst du Änderungen auf einem Server lagern? Du hast doch mit Javascript prinzipiell erst mal keine Möglichkeit auf einem Server zu speichern/lagern...

              <form name="UpdateOnServer" action="http://www.example.com/update.php" method="post"> wäre, nach einer "Online-Prüfung", ein Anfang. ;-)

              Gruß, Cybaer

              --
              Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
              1. Hi Cybaer,

                Ok, wenn du den Browser mitlieferst...

                Warum ich? =;-) Solche "Offline-Browser" kann man auf Open-Source-Basis selbst erstellen oder man kann für fertige Lösungen Lizenzen erwerben. Auf Heft-CDs findest Du i.d.R. welche (c't, PC-Magazin, ...). Und auf Fachmessen entsprechende Anbieter dafür. 8-)

                Kennst du da spezielle Open-Source Lösungen bzw. hast du schon mal welche genutzt?

                Das war das was ich meinte - mit Frames bindest du eine komplette _Seite_ ein, aber keinen reinen Inhalte ;-)

                :) Eine Seite mit "semantischem Markup" ist immer "reiner Inhalt".

                Gut, setzt aber sauberes (X)HTML vorraus - mit Seiten von anderen Leuten da zu arbeiten, die vielleicht mit Dreamweaver und 1000 Layout Tabellen gemacht worden sind, wird dann wohl etwas schwieriger.

                Aber wie willst du Änderungen auf einem Server lagern? Du hast doch mit Javascript prinzipiell erst mal keine Möglichkeit auf einem Server zu speichern/lagern...

                <form name="UpdateOnServer" action="http://www.example.com/update.php" method="post"> wäre, nach einer "Online-Prüfung", ein Anfang. ;-)

                In diesem Schritt kommst du dann aber doch nicht ohne eine serverseitige Technik aus ;-)

                MfG, Dennis.

                PS: Hast du mal gezählt, wie viele Smileys in deinem Posting waren? :-P

                --
                Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
                Auf viele Fragen weiß auch Wikipedia eine Antwort.
                1. Hi,

                  Kennst du da spezielle Open-Source Lösungen

                  Nein, da muß ich passen.

                  :) Eine Seite mit "semantischem Markup" ist immer "reiner Inhalt".
                  Gut, setzt aber sauberes (X)HTML vorraus

                  Oder gleich echtes XML.

                  • mit Seiten von anderen Leuten da zu arbeiten, die vielleicht mit Dreamweaver und 1000 Layout Tabellen gemacht worden sind, wird dann wohl etwas schwieriger.

                  Informationen auf XML-Basis nimmt man ja auch nicht einen WYSIWYMG-HTML-Editor, sondern einen XML-Editor! =;-)

                  In diesem Schritt kommst du dann aber doch nicht ohne eine serverseitige Technik aus ;-)

                  Es ist ja auch nur eine mögliche, aber nicht notwendige Ergänzung zu einem ansonsten clientbasierten Offline-Informationssystem! ;-)

                  PS: Hast du mal gezählt, wie viele Smileys in deinem Posting waren? :-P

                  Soviele, wie Du gesehen hättest, wenn Du mir beim Schreiben ins Gesicht geschaut hättest! ;-)

                  Gruß, Cybaer (Optimist und Philanthrop ;-))

                  --
                  Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!