the-FoX: Strings bereinigen

Hallo,
ich bin absoluter PHP-Anfänger und wollte mir ein LoginScript bastel, bzw. eine Username/Passwort überprüfung

ich hab mir das folgendermassen gedacht:
-Username und passwort weren übergeben
-Username wird "bereinigt" (ungültige zeichen entfernt und in Kleinbuchstaben umgewandelt)
-Geprüft ob eine Datei mit dem umgewandelten usernamen als Dateiname schon existiert

  • wenn ja.. Passwort vergleichen

jetzt steh ich aber vor dem Problem, dass ich nciht weiß, wie ich zum Beispiel alle Leerzeichen durch "_" ersetzen kann und alle "." durch "_" usw.
Einige Sonderzeichen sollen jedoch erlaubt sein "@","-",..

Kann mir da jemand weietr helfen ?! =o/
Kann man das alles auf einmal ersetzen kann ?!

Danke!

  1. Hi,
    str_replace()[1] ist dein Freund.

    Jan
    --
    [1] http://www.phpcenter.de/str_replace/

  2. Hallo,

    Lösung sollte ggf. auch über reguläre Ausdrücke möglich sein (v.a. wenn mehr gefiltert wird). Habe aber selbst ein Problem damit:

    Ich möchte Buchstaben (incl. Umlauten), Zahlen und die Satzzeichen -.'# sowie das Leerzeichen zulassen. Egal, wie und wo ich den Strich "-" unterbringe wird er nicht akzeptiert.

    Konstrukt sieht wie folgt aus:
    if(!$name OR ereg("[^a-zA-z0-9äüöÄÜÖß-.'# ]", $name)) echo "ungültig";

    2. Problem gleich noch mit:
    Anführungszeichen werden als " übergeben. Wie lasse ich diese im Ausdruck auch noch mit zu? der \ müßte doch als \ drin sein, das Anführungszeichenselbst als ". Insgesamt also \" ?

    Danke im voraus

    Grüße aus Köln
    Julian