Hilfe! Ich bin zu blöd für preg! ;)



  • Hallo!

    Ich habe preg_replace() immernoch nicht verstanden 😃
    Nun wollte ich mal eine PHP-Funktion schreiben, die mir alles aus einer Datei zurückgibt, außer sämtliche HTML-Tags, also alles, was zwischen '<' und '>' liegt weghauen und die '<' und '>' natürlich auch... außerdem sollen alle Zeilenumbrüche und mehrfachen Leerzeichen weggekürzt werden (Aus Zeilenumbrüchen werden vorerst Leerzeichen gemacht), sodass daraus:

    <html><head><title>Titel der Seite</title></head>
    <body>
    <p>Dies ist der Inhalt
    <?php echo $counter; ?></p>
    </body>
    </html>
    

    das hier wird:

    Titel der Seite Dies ist der Inhalt
    

    Das soll zum Durchsuchen von Inhalten von internen Dateien dienen. Bisher hab ich das geschrieben:

    function get_file_contents($filename)
    {
      if(!file_exists($filename))
        return false;
    
      $f=str_replace("\n"," ",str_replace("\r\n"," ",implode("\n",file($filename))));
      $f=preg_replace('[<],*,[>]',"",$f);
      while(stristr($f,"  ")!==false)
        $f=str_replace("  "," ",$f);
      return $f;
    }
    

    Aber das preg will mal wieder nicht laufen 😉 Danke für dioe Hilfe schonmal im Voraus!

    - Windoof



  • Entferne am besten einfach alle Vorkommnisse von '<[^>]*>'.





  • Ich glaub hier geht es aber nur um die Übung bzw. mit RegExps umgehen lernen.



  • Nein, wenn es ohne geht, und vor allem mit nur einem Funktionsaufruf... naja, wer weiß, die methode macht wahrscheinlich auch nix anderes, als preg_replace() 😉 Aber danke flenders 👍


Anmelden zum Antworten