Mike: Mit PHP Text im HTML Dokument ersetzen...

Hi,

also angenommen ich habe 100 php Dateien. Jetzt habe ich in vielen diesen Seiten "mikeey" statt "mike" geschrieben. Das "mikeey" will ich nun mit PHP durch "mike" erstzen. Wie mache ich das? Geht das?

Noch was wichtiges. In allen diesen 100 Dateien wird "navi.php" includet, das heißt, doch "navi.php" habe ich auf alle Dateien "gleichzeitig" Zugriff.

Ich weiss, es gibt andere Lösungen, aber es geht mir um das Prinzip, ich möchte wissen ob man sowas mit PHP lösen kann.

Kann mir jemand ein Beispielscode posten?

Danke
Ciao

  1. hi,

    also angenommen ich habe 100 php Dateien. Jetzt habe ich in vielen diesen Seiten "mikeey" statt "mike" geschrieben. Das "mikeey" will ich nun mit PHP durch "mike" erstzen. Wie mache ich das? Geht das?

    Willst du den Inhalt der Dateien auf der Festplatte ändern (Einmalaktion), oder den Begriff im Scriptoutput ersetzen, bevor du diesen an den Client auslieferst (jedes Mal erneut)?

    In allen diesen 100 Dateien wird "navi.php" includet, das heißt, doch "navi.php" habe ich auf alle Dateien "gleichzeitig" Zugriff.

    Definiere "Zugriff".

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      ich möchte "den Begriff im Scriptoutput ersetzen, bevor du diesen an den Client auslieferst (jedes Mal erneut)".

      In allen diesen 100 Dateien wird "navi.php" includet, das heißt, doch "navi.php" habe ich auf alle Dateien "gleichzeitig" Zugriff.

      Definiere "Zugriff".

      Also ich meine damit nur, dass ja die "navi.php" überall includet wird, das heißt, wenn ich etwas in "navi.php" schreibe, taucht es ja überall auf. Das meinte ich nur.

      Danke

      1. echo $begrüßung;

        ich möchte "den Begriff im Scriptoutput ersetzen, [...]
        Also ich meine damit nur, dass ja die "navi.php" überall includet wird, das heißt, wenn ich etwas in "navi.php" schreibe, taucht es ja überall auf.

        Vermutlich wird sie ziemlich am Anfang in deine Scripte eingebunden. Damit hast du nur die Möglichkeit, eine Shutdown-Funktion zu registrieren, die dann am Ende tätig wird. Dummerweise sind da aber schon alle Messen gelesen. Wie in der verlinkten Handbuchseite nachzulesen ist, nützt dir eine in der navi.php angestoßene Ausgabepufferung dann nichts mehr, weil die gepufferten Daten in der Shutdown-Funktion nicht mehr zur Verfügung stehen.
        Du brauchst einen Start der Ausgabepufferung am Anfang und eine Bearbeitung dieses Ausgabepuffers am Ende jedes Scriptes.

        P.S.[*] kurz vor Absenden fiel mir noch ein, dass es da auch noch die Konfigurationseinstellung auto_append_file gibt. Damit lässt sich vielleicht was machen. auto_prepend_file gibt es natürlich auch noch. Damit bist du dann sogar von der navi.php unabhängig, benötigst aber Zugriff auf mindestens eine PERDIR-Konfigurationsmöglichkeit, sprich: im Script kann man diese Werte nicht mehr verändern.

        echo "$verabschiedung $name";

        [*] Für alle "P.S.-Nörgler": P.S. steht hier für Pre Spedire :-)

        1. Hallo,

          sry ich verstehe 0 ^^. Das liegt daran, dass ich von PHP keine Ahnung habe bisher. Ich würde das aba gerne machen, was ich vorhabe. Ich dachte, das würde ein einfacher Script werden. Also zur Info, in meinen Dateien habe ich mehrere includes, auch ganz am Ende des Bodytags... Macht es die Sache einfacher?

          Also ist ja nicht so, dass ich selber nicht gesucht hät. Ich habe preg_repace gefunden, aber das funktioniert ja nur mit Variablen. Ich würde aber gerne im ganzen Dokument suchen...

          Naja, vllt kann das jemand für PHPDumme erklären bzw. den Bsp. Code posten... ^^

          Dankeschön
          Ciao

          1. echo $begrüßung;

            sry ich verstehe 0 ^^. Das liegt daran, dass ich von PHP keine Ahnung habe bisher.

            Das kann man ändern, indem man sich das Wissen darüber aneignet.

            Ich würde das aba gerne machen, was ich vorhabe. Ich dachte, das würde ein einfacher Script werden.

            Das ist es auch. Du musst nur das Thema Output Control Functions verstehen.

            Also zur Info, in meinen Dateien habe ich mehrere includes, auch ganz am Ende des Bodytags... Macht es die Sache einfacher?

            Ja. Weil damit das Hantieren mit der Shutdown-Funktion und der auto_prepend_file-Konfiguration entfallen kann.

            Also ist ja nicht so, dass ich selber nicht gesucht hät. Ich habe preg_repace gefunden, aber das funktioniert ja nur mit Variablen. Ich würde aber gerne im ganzen Dokument suchen...

            Dazu musst du das Dokument in eine Variable bekommen. Dies geht, indem du die Ausgabe mit Hilfe der o.g. Ausgabepuffer-Funktionen abfängst. Ein generelles Anwendungsbeispiel gibt es auf der Handbuchseite zur Funktion ob_get_contents().

            echo "$verabschiedung $name";

        2. Hello,

          P.S.[*] kurz vor Absenden fiel mir noch ein, dass es da auch noch die Konfigurationseinstellung auto_append_file gibt. Damit lässt sich vielleicht was machen. auto_prepend_file gibt es natürlich auch noch. Damit bist du dann sogar von der navi.php unabhängig, benötigst aber Zugriff auf mindestens eine PERDIR-Konfigurationsmöglichkeit, sprich: im Script kann man diese Werte nicht mehr verändern.

          Wie das geht, hatte ich gerade kurz vor dem Jahreswechsel im Forum (1. April) beschrieben:

          https://forum.selfhtml.org/?t=126727&m=817858

          Was man vor dem Zurückschreiben (auch in die eigene Datei) nun nocht tut, muss man eben selber entscheiden. Ein str_replace() wird der OP sicherlich schon anwenden können.

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

          1. echo $begrüßung;

            https://forum.selfhtml.org/?t=126727&m=817858

            Aha... eben grade probiert, stelle ich fest: unter PHP 5.1.2 ist entgegen der Handbuch-Aussage der Ausgabepuffer noch mit den entsprechenden Funktionen abfragbar. Unter PHP 4.4.2 ist der Ausgabepuffer weg und man erhält eine Notice.

            <?php  
            error_reporting(E_ALL);  
            ob_start();  
            register_shutdown_function('pagewrite');  
              
            function pagewrite() {  
              $text = '<b>' . ob_get_contents() . '</b>';  
              ob_end_clean();  
              echo $text;  
            }  
              
            echo phpversion();  
            ?>  
             - noch etwas text außerhalb des PHP-Blocks  
            
            

            echo "$verabschiedung $name";

            1. Hello,

              Aha... eben grade probiert, stelle ich fest: unter PHP 5.1.2 ist entgegen der Handbuch-Aussage der Ausgabepuffer noch mit den entsprechenden Funktionen abfragbar. Unter PHP 4.4.2 ist der Ausgabepuffer weg und man erhält eine Notice.

              Ich hatte es nur unter PHP 5.1.1 ausprobiert.
              Unter 4.2.x und 4.3.2 funktioniert es aber auch.

              In den UCN steht etwas dazu, wie man das Problem umgehen kann.

              Harzliche Grüße vom Berg
              http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau

              1. Hello,

                Aha... eben grade probiert, stelle ich fest: unter PHP 5.1.2 ist entgegen der Handbuch-Aussage der Ausgabepuffer noch mit den entsprechenden Funktionen abfragbar. Unter PHP 4.4.2 ist der Ausgabepuffer weg und man erhält eine Notice.

                Ich hatte es nur unter PHP 5.1.1 ausprobiert.
                Unter 4.2.x und 4.3.2 funktioniert es aber auch.

                In den UCN steht etwas dazu, wie man das Problem umgehen kann.

                http://de.php.net/manual/en/function.register-shutdown-function.php
                UCN von dweingart at pobox dot com

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

  2. Hi,

    also die eig frage ist, wie kann ich str_replace auf das ganze html dokument anwenden ohne eine konkrete variable?

    THX

    1. Hallo Mike.

      also die eig frage ist, wie kann ich str_replace auf das ganze html dokument anwenden ohne eine konkrete variable?

      In dem du dir den Inhalt dieser Dokumente holst.

      Einen schönen Sonntag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. In dem du dir den Inhalt dieser Dokumente holst.

        Ist gar nicht mal so einfach auf Englisch ^^... Kannst du mir bitte vielleicht ein Beispiel posten? Am Beispiel erkenne ich es am besten. Vor allem, weiss ich nicht, diese beiden Sachen zu kompbinieren (weil ich ja kein PHP kann...).

        1. Hallo,

          Ist gar nicht mal so einfach auf Englisch ^^...

          http://de2.php.net/manual/de/function.file-get-contents.php bitte.

          Grüße
          Jeena Paradies

          1. Ist gar nicht mal so einfach auf Englisch ^^...
            http://de2.php.net/manual/de/function.file-get-contents.php bitte.

            Verstanden habe ich nicht,wie das ganze anweden soll, aber wenigstens etwas davon...  bei file_get_contents muss man ja auch filename angeben, aber bei mir ist der filename ja jedes mal ein anderer, weil es ja verschiedene Dokumente sind, auf die ich es anwenden will...

            1. Hallo Mike.

              bei file_get_contents muss man ja auch filename angeben, aber bei mir ist der filename ja jedes mal ein anderer, weil es ja verschiedene Dokumente sind, auf die ich es anwenden will...

              Dann übergibst du eben jedes Mal eine Variable an file_get_contents, welche den jeweiligen Dateinamen enthält.

              Zusätzlich solltest du dich unbedingt mit den Grundlagen von PHP befassen.

              Einen schönen Sonntag noch.

              Gruß, Ashura

              --
              sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
              „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
              [HTML Design Constraints: Logical Markup]
              1. Hallo Mike.

                bei file_get_contents muss man ja auch filename angeben, aber bei mir ist der filename ja jedes mal ein anderer, weil es ja verschiedene Dokumente sind, auf die ich es anwenden will...

                Dann übergibst du eben jedes Mal eine Variable an file_get_contents, welche den jeweiligen Dateinamen enthält.

                Zusätzlich solltest du dich unbedingt mit den Grundlagen von PHP befassen.

                egal, ich gebs auf... das würde ja au nicht gehen, weil ich ja den "ersetzpart" immer include... ach egal, is jetzt zu hoch für mich.