Markus M.: Seite includen und verändern

Hallo,
ich würde gerne mal etwas ausprobieren. Ich würde ganz gerne ein Script (index_2.php) mit include() in die index.php einfügen und dabei alle "\n" und doppelte Leerstellen entfernen. Mit dem einfachen ereg_replace() funktioniert dies logischerweise nicht, wie ich bitter böse feststellen musste und define(), wie es in vielen Templatesystemen genutzt wird ist mir ein bömisches Dorf. Könnte jemand meinem müden Kopf einen Ruck geben?

Beste Grüße
Markus

  1. Hello Markus,

    mier erscheint auf den ersten Blick das include() nicht geeignet für Dein Vorhaben.

    Warum liest Du die zweite Datei nicht mittles einer normalen Dateifunktion ein?
    http://de2.php.net/manual/en/ref.filesystem.php

    Da kämen z.B. in Frage:

    ● file_get_contents()
      ● file()
      ● a. fopen()
        b. fread()
        c. fclose()
      ● ...

    Danach befindet sich der Inhalt der Datei in einer Variablen, oder in einem Array und kann von Dir bequem bearbeitet werden.

    Für den Anfang ist vielleicht file() die beste Wahl. Dann kannst Du die Datei in einer Foreach()-Schleife Zeile für Zeile bearbeiten.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Hallo Markus,

    ich würde gerne mal etwas ausprobieren. Ich würde ganz gerne ein Script (index_2.php) mit include() in die index.php einfügen und dabei alle "\n" und doppelte Leerstellen entfernen.

    Wenn du das Script tatsächlich mit "include" einbinden möchtest (also ausführen), dann kannst du auf ob_start() und ob_get_contents() zugreifen.

    Beispiel:

    ob_start();  
    include 'index_2.php';  
    $content = ob_get_contents();  
    $content = preg_replace(" {2,}", " ", $content); // doppelte Leerzeichen entfernen  
    $content = str_replace("\n", "", $content); // \n entfernen
    

    Hoffentlich hilft das.
    Gruß Alexander.