Leerzeilen aus *.html datei mit regex löschen.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Leerzeilen aus *.html datei mit regex löschen.

    Ich versuche nun schon seit geraumer zeit aus einer *.html datei die Leerzeilen zu löschen. Leider scheitere ich scheinbar am Regex.

    Sollte das nicht funktionieren?

    PHP-Code:
    preg_replace ('/^$/'""$testleer); 

    Vielen dank timepoint5
    Möglich ist alles!

  • #2
    leerzeilen sind nicht leer, denn sonst würde ja niemand wissen, dass da ne leerzeile is und ergo auch keine anzeigen

    da steht entweder \n, \r oder \r\n drin

    bei ner leerzeile hast du also z.b. \n\n direkt hintereinander oder \r\r oder \r\n\r\n
    PHP-Code:
    $ohneleerzeilen=preg_replace('%(\n\n)|(\r\r)|(\r\n\r\n)%',' ',$mitleerzeilen); 
    sollte gehen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Danke für die schnelle antwort!

      Leider klappts nicht ganz, wenn ich zB

      $bla = "1 2 3

      4
      5


      6";

      bekomm ich dann

      1 2 3 4
      5
      6

      raus.
      Klar so macht er erst nach /n/n/n eine neue zeile. Hmm doch ziemlich schwierig.


      [EDIT]

      Nee schmarn, einfach so:

      $ohneleerzeilen=preg_replace('%(\n\n)|(\r\r)|(\r\n\r\n)%',"/n",$bla);


      Danke Dir!!!
      Zuletzt geändert von timepoint5; 26.06.2003, 12:26.
      Möglich ist alles!

      Kommentar


      • #4
        So jetzt hatte ich zeit das mit diesem Code auszuprobieren, geht leider nich:

        PHP-Code:
        while (!feof($fp)) {
                
        $tht fgets($fp4096); // File zeilenweise in einen Array einlesen
            
        $html $html  $tht;
            }
            
        fclose($fp);
            
            
        $html=preg_replace('%(\n\n)|(\r\r)|(\r\n\r\n)%','/n',$html);
            
            
        $fp fopen($WhichFile,"w");
          
        fputs($fp$html);
         
        fclose($fp); 
        Gibt es eine Möglichkeit ein /n zu "escapen"so das es hier laufen würde`?


        Auch das rauslöschen von leerzeichen in dem man die datei in ein array einliest klappt auch nich( array_splice), hat jemand eine idee?
        Möglich ist alles!

        Kommentar


        • #5
          $html= preg_replace("/([\n|\r]+)/i","",$html); - Löscht alle "Neue Zeilen"-Angaben.

          Deine zweite Anfrage verstehe ich im Moment vom Sinn her nicht ganz.

          Weitere Informationen zu regex und in diesem Falle zu dessen Syntax findest du auch hier:

          http://de3.php.net/manual/de/pcre.pattern.syntax.php
          Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

          Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

          Wer suchet, der findet: http://www.php-resource.de/forum/search.php
          Immer noch nichts? Dann frag!


          Mit freundlichen Grüßen,
          @4u

          Kommentar


          • #6
            Es geht mir nur darum enstehende leerzeilen aus einer html datei zu löschen, egal ob mit regex, array funktionen oder ändliches völlich egal hauptsache die leerzeilen wären weg.

            Alle /n || /r zu löschen erfüllt den zweck nicht. Trotzdem danke.
            Möglich ist alles!

            Kommentar


            • #7
              In diesem Fall solltest du Zeilenweise per array einlesen und dann:

              Code:
              foreach ($array as $string)
              {
               if (trim ($string) != "")
               {
                $newarray[] = $string;
               }
              }
              einsetzen.
              Eventuelle Tippfehler bei PHP-Beispielen können durchaus vorkommen, aber es geht um die grundsätzliche Möglichkeit der Anwendung.

              Es war einmal ein Benutzer, der hatte ein Problem mit ... PHP (http://de3.php.net/manual/de/) MySQL (http://dev.mysql.com/doc/mysql/de/) HTML (http://www.selfhtml.org/)

              Wer suchet, der findet: http://www.php-resource.de/forum/search.php
              Immer noch nichts? Dann frag!


              Mit freundlichen Grüßen,
              @4u

              Kommentar


              • #8
                Danke schön!
                Möglich ist alles!

                Kommentar


                • #9
                  Wers braucht der findets:


                  PHP-Code:
                      function killemptylines($WhichFile)
                  {

                       
                  $fp fopen($WhichFile,"r");

                           while (!
                  feof($fp)) {
                               
                  $zeilen[] = fgets($fp4096); // FEED THAT ARRAY
                           
                  }
                           
                  fclose($fp);

                  // KILL THOSE EMPTY LINES
                       
                  foreach ($zeilen as $string)
                       {
                        if (
                  trim ($string) != "")
                        {
                         
                  $zen[] = $string;
                        }
                       }
                           
                       
                  //STRING 'EM TOGETHER    
                             
                  for ($i=0;$i<sizeof($zen);$i++)
                             {
                           
                               
                             
                  $html $html.$zen[$i];
                                 
                             }

                       
                  //WRITE IT TO DISK
                       
                  $fp fopen($WhichFile,"w");
                             
                  fputs($fp$html);
                             
                  fclose($fp);



                  Möglich ist alles!

                  Kommentar

                  Lädt...
                  X