Akai: alle Zeichen ausser Zahlen und Buchstaben entfernen

hi!

gibts bei php ne möglichkeit aus einem string alle zeichen ausser buchstaben, leerzeichen und zeichen zu entfernen, quasi alle sonderzeichen entfernen? gibts da ne extra funktion?

also vorher
$salt = "Test?! Äh was sonst -> Oje";

nachher dann so
$sneu = "Test Äh was sonst  Oje";

danke,

akai

  1. so:

    • ein array (inhalt: alle sonderzeichen die du ersetzen willst)
    • foreach
    • str_replace

    dann in eine function schreiben und mit der zu überprüfenden zeichenkette aufrufen.
    sowei ich weiß gibt es keine php_funktion um sonderzeichen zu entfernen)

    gruß
    phase

    1. hi!

      • ein array (inhalt: alle sonderzeichen die du ersetzen willst)

      ok, das ist klar - aber da müsste ich ja alle sonderzeichen reinschreiben ... das ist ja sehr mühsam und sicher vergess ich welche - geht das nicht irgendwie anders??

      akai

      1. ...also wenn du gnadenlos alle sonderzeichen rausschmeissen willst dann geht das auch so:

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

        have fun!
        phase

        1. hey,

          das ist ja super!

          nur noch eine frage, werden ä,ü,ö auch rausgeschmissen?
          wenn ja, wie kann ich das einschränken?

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

          tausend dank - hoffe ich nerv nicht, ist für mich alles neuland und die manuals zu den regexp sind nicht ganz so leicht zu verstehen ...

          vg akai

          1. Hallo Akai,

            nur noch eine frage, werden ä,ü,ö auch rausgeschmissen?

            ich denke, ja (habs nicht getestet)

            wenn ja, wie kann ich das einschränken?

            schreib die Zeichne noch in die Zeichenmenge dazu (hinter 0-9)

            [aus dem anderen Posting]

            will auch noch ein bestimmtes wort $banword rausfiltern, kann man das noch einbauen??

            mach doch einfach noch ein str_replace() das das $banword durch einen Leerstring ersetzt (oder was auch immer :-)).

            Grüße aus Nürnberg
            Tobias

            1. hey danke!

              aber nochwas, das leerzeichen wird auch ersetzt - das sollte natürlich nicht sein - wie mache ich das noch?

              akai

              1. einfach ein leezeichen mit reinschreiben.

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

                have fun!
                phase

        2. noch was :-)))

          will auch noch ein bestimmtes wort $banword rausfiltern, kann man das noch einbauen??

          bye ...