trim() aber überall?

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

  • trim() aber überall?

    trim() nimmt die Zeilenumbrüchen nur am Ende und Anfang eines Strings weg. Gibt es eine Funktion die alle \n usw. wie trim() auch innerhalb von strings entfernt?

  • #2
    Ja.
    PHP-Code:
    $text preg_replace('#\\s#'''$text); 
    Alternativ:
    PHP-Code:
    $text str_replace(array(" ""\n""\r\n""\r"), ""$text); 

    Kommentar


    • #3
      Bei der unteren Variante fehlt aber noch einiges, zb der Tabulator

      Kommentar


      • #4
        Ja. Kann man aber alles ergänzen (Tabulator ist \t), ist jedoch viel Aufwand.
        Deshalb ziehe ich die obere Variante vor.

        Kommentar


        • #5
          str_replace() dürfte schneller sein und viel aufwand ist es auch nicht, denn es sind genau diese zeichen:

          " " (ASCII 32 (0x20)), an ordinary space.
          "\t" (ASCII 9 (0x09)), a tab.
          "\n" (ASCII 10 (0x0A)), a new line (line feed).
          "\r" (ASCII 13 (0x0D)), a carriage return.
          "\0" (ASCII 0 (0x00)), the NUL-byte.
          "\x0B" (ASCII 11 (0x0B)), a vertical tab.

          Kommentar


          • #6
            Ja, klar. str_replace ist schneller (wobei der hier auch ein Array durchlaufen muss, deshalb nicht so schnell wie sonst).
            Viel Aufwand, war vielleicht übertrieben. Aber allemal mehr zu tippen, als bei der ersten Variante, weshalb ich die nehmen würde. Wenn die Anwendung keine systemkritischen Operationen ausführt oder an sich schon langsam ist, fällt das kaum ins Gewicht.

            Kommentar


            • #7
              um ehrlich zu sein, würde ich auch erste variante bevorzugen
              vielleicht aber noch mit \s+

              Kommentar


              • #8
                Ja, gut \s+ wäre natürlich auch möglich. Das grenzt die Suche ein wenig ein.
                Aber schön, dass wir da einer Meinung sind.

                Kommentar

                Lädt...
                X