Frage zu Zeichenbereich bei preg Funktionen

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

  • Frage zu Zeichenbereich bei preg Funktionen

    Hallo,

    mit folgendem Befehl:

    $text= preg_replace("/[^a-zA-Z0-9 ]/","",$text);

    entferne ich ja alle Zeichen, bis auf die genannten. So jetzt haben wir zum Beispiel a-z, gibt es einen solchen Bereich auch für zum Beispiel auch für Umlaute? Also ä-ü oder für Satzzeichen $-& ? Wenn ja, gibt es irgendwo eine Liste für die Reihenfolge (beim Alphabet und Zahlen ist das ja logisch)?

  • #2
    Hallo,
    es gibt keinen "Bereich" von Ä-Ü, Du mußt dann z.B. alle Umlaute, die (nicht) vorkommen dürfen einzeln aufführen.
    ä,ü,ö,Ä,Ü,Ö ... und Satzzeichen ebenfalls extra!

    GRuß php_fussel

    Kommentar


    • #3
      Hm so ein Mist, weil eigentlich geht es mir nur um ein einziges "komisches" Zeichen, welches bei einer Anfrage an einen Game Server mitgesendet wird:

      

      Irgendwie bekomme ich das mit str_replace nicht weg :-(

      Kommentar


      • #4
        Hm..

        Wenn Du es nicht 'weg' bekommst, dreh den Spiess doch einfach um? Sende nur das mit was auch gesendet werden darf. Dreh dein replace also so um, dass er nur erlaubte Zeichen mitsendet und nicht jene die Du nicht entfernen kannst...

        Kommentar


        • #5
          Das oben ist ja schon umgedreht, aber alle Zeichen reinschreiben, bis auf diese Komische Sonderzeichen? Da gibt es so viele Zeichen auf der Tastatur :-(

          Kommentar


          • #6
            Das hier ist dein "komisches Zeichen": http://www.ltg.ed.ac.uk/~richard/utf...=%15&mode=char Das ist ein Steuerzeichen und ist wahrscheinlich Teil der Serverschnittstelle und dient zum Beispiel als Begrenzung von Nachrichtenteilen.
            Wikipedia sagt dazu
            Steuerzeichen, das die negative Bestätigung auf eine vorangegangene Anfrage ausdrückt.

            Kommentar


            • #7
              Und wie bekomme ich es nun aus meinem String ;-)

              Kommentar


              • #8
                Mit chr kannst du dir das Zeichen erstellen, dann sollte auch str_replace funktionieren.

                Kommentar


                • #9
                  Original geschrieben von Laire
                  Und wie bekomme ich es nun aus meinem String ;-)
                  $gefiltert = preg_replace('/\x15/', '', $original);
                  Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                  Kommentar


                  • #10
                    Und wieso ein regulärer Ausdruck für so einen Pups?

                    Kommentar


                    • #11
                      Original geschrieben von PHP-Desaster
                      Und wieso ein regulärer Ausdruck für so einen Pups?
                      OffTopic:
                      Eigentlich mußt du fireweasel mittlerweile kennen; er lebt großspurig und so kreuzt er entsprechend auf

                      Kommentar


                      • #12
                        Original geschrieben von PHP-Desaster
                        Und wieso ein regulärer Ausdruck für so einen Pups?
                        Ich hab lediglich den Ansatz des OP auf das Problem angepasst. Mit str_replace() müsste das selbstverständlich auch gehen:

                        $gefiltert = str_replace("\x15", '', $original);

                        Der eigentliche Grund ist, dass ich die Argument-Liste von preg_replace() mittlerweile im Kopf habe. Im Gegensatz zu den str-schlagmichtot()-Funktionen von PHP, wo es eher bunt durcheinander geht, sind mir die preg_...()-Funktionen einfach einheitlicher und somit geläufiger.

                        Original geschrieben von asp2php
                        OffTopic:
                        Eigentlich mußt du fireweasel mittlerweile kennen; er lebt großspurig und so kreuzt er entsprechend auf

                        "Der tut nix, der will nur spielen."

                        Sags niemanden weiter, aber ich freue mich trotzdem, wenn ich jemandem helfen konnte.
                        Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                        Kommentar


                        • #13
                          Original geschrieben von PHP-Desaster
                          Mit chr kannst du dir das Zeichen erstellen, dann sollte auch str_replace funktionieren.
                          Jupp klappt jetzt alles ;-)

                          Kommentar


                          • #14
                            Original geschrieben von fireweasel
                            Im Gegensatz zu den str-schlagmichtot()-Funktionen von PHP, wo es eher bunt durcheinander geht, sind mir die preg_...()-Funktionen einfach einheitlicher und somit geläufiger.
                            Oh, ich erkenne dich nicht wieder! In anderen Threads tutst du so, als ob du alles genau untersuchst, jeden möglichen Fall unter die Lupe nimmst, so dass der Code, was du schreibst, perfekt ist. Aber hier sch**ßst du auf einmal auf die Performance und setzst auschließlich preg_xxx ein nur weil du dir kein str_xxx merken kannst

                            Kommentar


                            • #15
                              fireweasel steht wohl auf reguläre Ausdrücke und hat seinen goldenen Hammer gefunden

                              Kommentar

                              Lädt...
                              X