Leere Zeilen entfernen - Problem

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

  • Leere Zeilen entfernen - Problem

    Hi Leute,

    ich habe da wieder mal ein kleines Problem.

    Ich bastle einen Script der aus anderen PHP-Scripten die Kommentare, leeren Zeilen und Zeilenumbrüche entfernt und da kommen schon die Probleme.

    Ich wollte es wie folgt machen:

    $str = str_replace("\n", "", $str);

    Allerdings werden auch die \n die ich im Script benutzt habe entfernt. Ich will aber nur die Leeren Zeilen bzw. Zeilenumbrüche wegbekommen.

    Sinn ist es das Script damit unleserlich aber funktionstüchtig zu machen.

    Help!

  • #2
    $str = str_replace(" ", "", $str);

    und wie ist´s hiermit?
    mfg
    marc75

    <Platz für anderes>

    Kommentar


    • #3
      $str = preg_replace('/\s+(\r\n|\r|\n)/', '$1', $str);
      entfernt gleichzeizig Leerzeichen/Tabs am Zeilenende
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        danke für die Antworten

        @ TITUS - You are the best!

        Kommentar


        • #5
          Mit preg_replace() Kommentar entfernen

          Huhu ich bins nochmal,

          in meine vorherigen Angaben hat sich ein Fehler eingeschlichen.
          EDIT:
          das ist trotzdem kein grund, einen neuen thread aufzumachen - bleib gefälligst in deinem bestehenden zum thema!
          *zusammenführ*



          Wenn ich Kommentare aus Scripts mit ner # automatisiert entfernen will mache ich das wie folgt

          $ausgabe = preg_replace( "/[ \t\n]+(\#)[^\n]*/sme", "", $ausgabe);

          Nun passiert es aber auch, das ab Farbangaben z.B. #000000 bis zum Rest der Zeile alles abgeschnitten wird.

          Einzige Idee (vielleicht hat jemand eine bessere) alles ab Raute und Leerzeichen abschneiden.

          Nur wie baue ich das in den Code ein?!
          Zuletzt geändert von wahsaga; 25.09.2004, 12:57.

          Kommentar


          • #6
            Die wahrlich einfachste Methode: str_replace(..) ist aber nicht schön..

            Frag mich nicht wieso das Script die \" in " umwandelt, liegts eventuell an den Parametern?
            PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

            Kommentar


            • #7
              Sorry noch ne Frage, denn ich komme null weiter. Ich habe schon einen Thread dazu eröffnet, aber der ist unglücklich formuliert.

              Ich will Zeilen löschen die Kommentare enthalten. Selten aber doch vorhanden sind Kommentare mit einer # vorangestellt.

              Die Funktion

              $ausgabe = preg_replace( "/[ \t\n]+(\#)*/me", "", $ausgabe);

              Beim Testlauf ist mir aber aufgefallen, dass Zeilen mit Farbangabe #000000 oder #FFFFFF bis zum Ende auch gelöscht werden.

              Jetzt will ich so ne Funktion der Art "Lösche von # bis Ende der Zeile, es sei denn es ist eine Farbe" ich finde nach langem probieren weder einen Ansatz noch ne Lösung.

              Hat jemand was in der Hinterhand?

              Kommentar


              • #8
                Hat jemand was in der Hinterhand?
                da gibt es mehrere möglichkeiten, je nach deinen gegebenheiten
                • nur zeilen löschen, in denen nach dem # keine 3 oder 6 hexadezimale ziffern enthalten sind
                • nur zeilen löschen, in denen die # außerhalb von " oder ' steht
                • eine kombination aus beiden ...
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  stimmt mit dem ausschluss

                  - zeilen löschen, in denen nach dem # keine 3 oder 6 hexadezimale ziffern enthalten sind

                  das wär ne idee. kannst du mir mir dem code nen tip geben? *im moment auf der leitung steh*

                  Kommentar


                  • #10
                    das wär ne idee. kannst du mir mir dem code nen tip geben? *im moment auf der leitung steh*
                    - entweder assertions
                    - oder conditional subpattern


                    Code:
                    &(#(?!([\da-f]{3}|[\da-f]{6})[^\da-f])).*&i
                    probier mal ...

                    kommentare &agrave; la #ade schnöde welt oder #bad putzen werden als farbe erkannt ... hundertprozentig wirds nix ...
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar

                    Lädt...
                    X