Ankündigung

Einklappen
Keine Ankündigung bisher.

Werte aus Array entfernen

Einklappen

Neue Werbung 2019

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

  • Werte aus Array entfernen

    Hallo!

    Ich zerlege einen String in ein Array:

    PHP-Code:
    $zeilen split(" ",$zeilen); 

    Ich möchte aus diesem Array alle Leerzeichen entfernen. Unset scheint ab PHP 4 nicht mehr zu "funktionieren" oder habe ich das (mit sicherheit) falsch verstanden?!

    Hier gäbe es auch eine Lösung http://www.iphosting.ch/index.php?co...chnipsel&id=11, aber ich möchte das Array nicht unbedingt nochmal durchlaufen. Gibt es da nicht eine einfacherer Lösung?
    Gruß
    NetLook

    www.werbeset.com

  • #2
    Also ich weiß ja nicht aber wie wäre es mit str_replace()
    http://se2.php.net/manual/de/function.str-replace.php
    Du ersetzt leerzeichen also " " durch nix "" .
    www.mark-home.de.vu
    www.sudoku.de.nr

    Kommentar


    • #3
      Hi!

      Dann müsste ich das Array aber auch durchlaufen lassen. Zudem ist das Problem, das ich eine Datei mit file_get_contents() in einen String packe, mit strip_tags() von Code säuber, dann in ein Array zerlege und somit mal 3 Leerzeichen, mal mehr, mal weniger in den Array Werten habe!
      Gruß
      NetLook

      www.werbeset.com

      Kommentar


      • #4
        das dürfte dich weiterbringen:

        Code:
        $aNew = array_diff ($aAll , array (' '));
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Habe das mit den 3 LZ erst gerade gelesen. Die könntest du vorher so weggkriegen
          Code:
          $sString = preg_replace ('#[\020]+#' , ' ' , $sString);
          [COLOR="#F5F5FF"]--[/COLOR]
          [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
          [COLOR="#F5F5FF"]
          --[/COLOR]

          Kommentar


          • #6
            Hi!

            Ne, funktioniert leider nicht?!

            PHP-Code:
            $sString preg_replace ('#[\020]+#' ' ' $sString); 
            Gruß
            NetLook

            www.werbeset.com

            Kommentar


            • #7
              sorry \040 ist die richtige Hausnummer für Leerzeichen. und \011 für tabs...
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                Hi!

                Das hat jetzt geklappt Problem jetzt: alle Wörter werden zusammen geschrieben, da ja alle Leerzeichen entfernt werden Das Array hat also nur noch einen Wert mit einem sehr langen Wort!
                Gruß
                NetLook

                www.werbeset.com

                Kommentar


                • #9
                  Kann es sein, dass Du beim preg_replace als zweiten Parameter einen leeren String hast, statt ein einzelnes Leerzeichen?
                  **********************************
                  Nein, ich bin nicht die Signatur.
                  Ich putze hier nur.
                  **********************************

                  Kommentar


                  • #10
                    Stimmt! Habe es korrigiert, aber das Array enthält immer noch leere Werte?!

                    PHP-Code:
                    $zeilen file_get_contents($res);
                        
                    //html Code wird umgewnadelt
                    $zeilen html_entity_decode($zeilen);

                    //HTML und PHP Tags werden entfernt
                    $zeilen strip_tags($zeilen);

                    $zeilen preg_replace ('#[\040]+#' ' ' $zeilen);

                    $zeilen explode(" ",$zeilen); 
                    Gruß
                    NetLook

                    www.werbeset.com

                    Kommentar


                    • #11
                      Meinst Du nach dem explode()?
                      Vielleicht sind da ja Tabs und Reste von Zeilenenden drin oder sowas.....
                      **********************************
                      Nein, ich bin nicht die Signatur.
                      Ich putze hier nur.
                      **********************************

                      Kommentar


                      • #12
                        wahrscheinlich eher leerzeilen (also zeilen, die nur aus umrüchen bestehen).
                        anschließendes array_diff () mit dem Array array (" " , "" , "\n" , "\r\n") müßte als Rundumschlag dann alles rausschmeißen...
                        [COLOR="#F5F5FF"]--[/COLOR]
                        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                        [COLOR="#F5F5FF"]
                        --[/COLOR]

                        Kommentar


                        • #13
                          http://de3.php.net/manual/en/function.array-filter.php

                          Internetsuche bemüht?

                          Kommentar


                          • #14
                            Ja, hab ich Werde es Montag testen, vorab vielen Dank 1x an alle!

                            So, bin jetzt 1x mal weg und entknote mein Hirn!

                            Schönes WE!
                            Gruß
                            NetLook

                            www.werbeset.com

                            Kommentar


                            • #15
                              da hab ich doch gleich noch ne idee:
                              Code:
                              $aLines = explode (' ' , $sContent);
                              $aLines = preg_grep("/^[\s\n\r\t]+$/", $aLines , PREG_GREP_INVERT);
                              Liefert alle Arrayelemente deren Inhalte NICHT aus nur Whitespacezeichen und Umbrüchen bestehen. Nicht getestet.
                              [COLOR="#F5F5FF"]--[/COLOR]
                              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                              [COLOR="#F5F5FF"]
                              --[/COLOR]

                              Kommentar

                              Lädt...
                              X