Markus: bestimmte Zeichen aus einem String entfernen

Hallo Leute,

gibt es irgendeinen PHP-Befehl, mit dem ich sämtliche Leerzeichen und Zeilenumbrüche (evtl. auch Satzzeichen und Kammern) innerhalb eines strings entfernen kann?
Wenn nicht, weiß einer von euch wie man bei dem Befehl eregi_replace() mehrere Parameter eingebn kann, nach denen gesucht wird?

Danke im Vorraus

Markus

  1. Hallo Markus,

    sieh Dir bitte str_replace() an. Diese Funktion kann auch mit einem Datenfeld von zu ersetzenden Zeichen/Strings benutzt werden.

    Gruß aus Berlin!
    eddi

  2. Ich hab mal was von einem ltrim() Befehl gehört. weiß einer, wie der funktioniert?

    Markus

    1. Ich hab mal was von einem ltrim() Befehl gehört. weiß einer, wie der funktioniert?

      Die ltrim()-Funktion entfernt Leerzeichen _am Anfang_ des Strings. Mit deinem Problem hat das wohl wenig zu tun...

      1. Wenn ich nun ereg_replace oder str_replace verwende, wie kann ich dann mehrere suchoptionen auf einmal eingeben? Also ungefähr so: ereg_replace("\n und \0 und \v usw", "", $text)

        1. Wenn ich nun ereg_replace oder str_replace verwende, wie kann ich dann mehrere suchoptionen auf einmal eingeben? Also ungefähr so: ereg_replace("\n und \0 und \v usw", "", $text)

          Ungefähr so:

            
          ereg_replace("[\n\0\v]","",$text);  
          
          

          Aber leichter wäre das wirklich mit str_replace:

            
          str_replace("\n\0\v","",$text);  
          
          
          1. Hallo Logo,

            Aber leichter wäre das wirklich mit str_replace:

            str_replace("\n\0\v","",$text);

              
            in diesem Fall wird nur der String "\n\0\v" erkannt und gelöscht, nicht die einzelnen Zeichen.  
              
            ~~~php
              
            str_replace(array("\n","\0","\v"),"",$text);  
            
            

            Gruß aus Berlin!
            eddi

            1. Hallo Leute,

              Kann mir mal jemand einen Link posten, wo man sieht, was diese Sonderzeichen (wie z.B. \n \0 \v) bedeuten?

              Wär cool

              1. hi,

                Kann mir mal jemand einen Link posten, wo man sieht, was diese Sonderzeichen (wie z.B. \n \0 \v) bedeuten?

                http://www.php.net/manual/de/language.types.string.php#language.types.string.syntax.double
                http://www.php.net/manual/de/reference.pcre.pattern.syntax.php#regexp.reference.backslash

                gruß,
                wahsaga

                --
                /voodoo.css:
                #GeorgeWBush { position:absolute; bottom:-6ft; }
              2. Hallo Vali,

                Kann mir mal jemand einen Link posten, wo man sieht, was diese Sonderzeichen (wie z.B. \n \0 \v) bedeuten?

                auch dabei ist das Manual hilfreich, es will nur gelesen werden ;) http://de3.php.net/manual/de/language.types.string.php#AEN2887

                Gruß aus Berlin!
                eddi

            2. Hallo Leute,

              Ich hab's jetzt mit str_replace("\W", "", $text) probiert, aber es werden jetzt weder Leerzeichen noch Ümbrüche erkannt. Warum?
              "\W" steht doch für Nicht-Text

              1. Re:

                Ich hab's jetzt mit str_replace("\W", "", $text) probiert, aber es werden jetzt weder Leerzeichen noch Ümbrüche erkannt. Warum?

                Weil Du nach einem String bestehend aus den beiden Zeichen '' + 'W' suchen läßt. Da ist also kein Umbruch dring.

                "\W" steht doch für Nicht-Text

                • in regulären Ausdrücken schon

                Gruß aus Berlin!
                eddi

                1. Wie muss die Syntax denn dann aussehen wenn nicht "\W"?

                  1. Re:

                    Wie muss die Syntax denn dann aussehen wenn nicht "\W"?

                    Wie ich Dir bereits unter https://forum.selfhtml.org/?t=106778&m=662265 geschrieben hatte und mit einem Beispiel https://forum.selfhtml.org/?t=106778&m=662306 versucht habe zu verdeutlichen, solltest Du mit einem Datenfeld (array) arbeiten. Wenn ich Dich richtig verstehe, sollte folgendes Beispiel für Dich ausreichen:

                    $text=str_replace(array("\n"," ","\r"),"",$text)

                    Gruß aus Berlin!
                    eddi

                    1. Danke Jetzt Funktioniert's!!!

                      Kann es sein, dass man die Zeichen innerhalb des arrays in einer bestimmten Anordnung schreiben muss? Ich hatte davor nämlich array(" ","\n","\t") und es hat nicht funktioniert !?!

                      Markus

                      PS.: wofür steht eigentlich \0 und \v ?

                      1. Re:

                        Kann es sein, dass man die Zeichen innerhalb des arrays in einer bestimmten Anordnung schreiben muss? Ich hatte davor nämlich array(" ","\n","\t") und es hat nicht funktioniert !?!

                        nicht gänzlich unmöglich, aber doch sehr unwahrscheinlich

                        PS.: wofür steht eigentlich \0 und \v ?

                        Ich hatte Dich wohl vergeblich mit den Verweisen auf frühere Beiträge darauf aufmerksam machen wollen, daß es bereits zu Wiederholungen kommt. Lese bitte den gesamten Thread!

                        Gruß aus Berlin!
                        eddi

                        --
                        POST SCRIPTA SIND UNÜBERLEGTE HANDLUNGEN IM KONTEXT EINES HTML-FORMULARS!
        2. Hi,

          Wenn ich nun ereg_replace oder str_replace verwende, wie kann ich dann mehrere suchoptionen auf einmal eingeben? Also ungefähr so: ereg_replace("\n und \0 und \v usw", "", $text)

          XaraX hat dir doch schon den Link gepostet: http://de3.php.net/manual/de/function.str-replace.php

          MfG Hopsel

          --
          "It's amazing I won. I was running against peace, prosperity, and incumbency."
          George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    2. Hallo Markus,

      Ich hab mal was von einem ltrim() Befehl gehört. weiß einer, wie der funktioniert?

      Mir scheint, Du kennst das Manual (http://de.php.net/manual/de/) nicht.

      Gruß aus Berlin!
      eddi