kostenloser Webspace werbefrei: lima-city


Suche Hilfe zu : preg_replace

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    Hi,

    Ich bin im moment am basteln eines Anmeldeformulars und habe auch alles wunderbar hinbekomen.
    Nun möchte ich aber bestimmte Zeichen verbieten.
    Kann mir vielleicht irgend jemand einen geeignettes preg_replace Suchmuster erstellen?
    Oder vielleicht weiß jemand eine Seite an der ich das lernen kann,
    ich komme nämlich nicht wirklich dahinter.

    Das Suchmuster soll nur a-z,A-Z,1-9 erlauben.

    Falls irgendjemand findet das der Thread unangebracht ist oder im falschen Unterforum der soll die "Back"-Taste drücken oder den Kopf auf den Tisch hauen.
    Falls die Person kein einfaches Uservolk ist so bitte ich ihn den Thrad richtig einzuordnen.


    mfg matthimeo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hier findest du eine Art Tutorial.

    PS: Das solltest du eher mit preg_match machen!

    LG cookies
  4. Ist das noch aktuell?

    preg_match nimmst du zur Erkennung:

    if(!preg_match( '/^([a-zA-Z0-9]/)' , $vergleich))
    {
    
       // was passiert wenn nicht erfüllt
    
    }


    aber das hilft dir glaube ich nciht weiter.

    Ich würde mich an deiner stelle eher mit JavaScript behelfen. damit kannst du unterbinden, dass diese Sonderzeichen bei der Eingabe überhaupt erst auftauchen^^ ->natürlich sollte man dann die prüfung dennoch vornehmen, weil viele Leute JavaScript einfach so deaktivieren...

    Ansonsten hängt die Lösung für dein Problem davon ab, wie du das problem lösen willst. Willst du blos eine Fehlermeldung werfen und die Eingabe ignorieren und den User unverrichteterdinge ins Formular zurückwerfen, dann genügt das oberste Codeschnipsel

    natürlich könnte man auch die Sonderzeichen einfach so entfernen, ohne den user groß zu benachrichtigen...
  5. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    hi,
    danke für die hilfe

    sebulon schrieb: Ist das noch aktuell?

    preg_match nimmst du zur Erkennung:

    if(!preg_match( '/^([a-zA-Z0-9]/)' , $vergleich))
    {
    
       // was passiert wenn nicht erfüllt
    
    }


    aber das hilft dir glaube ich nciht weiter.

    Ich würde mich an deiner stelle eher mit JavaScript behelfen. damit kannst du unterbinden, dass diese Sonderzeichen bei der Eingabe überhaupt erst auftauchen^^ ->natürlich sollte man dann die prüfung dennoch vornehmen, weil viele Leute JavaScript einfach so deaktivieren...

    Ansonsten hängt die Lösung für dein Problem davon ab, wie du das problem lösen willst. Willst du blos eine Fehlermeldung werfen und die Eingabe ignorieren und den User unverrichteterdinge ins Formular zurückwerfen, dann genügt das oberste Codeschnipsel

    natürlich könnte man auch die Sonderzeichen einfach so entfernen, ohne den user groß zu benachrichtigen...


    Doch , ich habe vor dem User eine einfache Fehlermeldung an dem Kopf zu werfen.
    Für mehr reicht es erstma nicht.

    Danke
    mfg matthimeo

    EDIT:
    Bist du sicher das der Befehl so funktioniert?
    Bei mir gibt der dazu einen Fehler aus.

    Beitrag zuletzt geändert: 12.1.2010 17:31:17 von matthimeo
  6. hm, nimm die Runden klammern um den Ausdruck raus, dann müsste es klappen

    sag am besten mal die Fehlermeldung, wenn da was mit regex steht, dann ist das der Fehler... asche auf mein Haupt...
  7. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    sebulon schrieb: hm, nimm die Runden klammern um den Ausdruck raus, dann müsste es klappen

    So?:
    if(!preg_match( '/^[a-zA-Z0-9]/' , $vergleich))
    {
    
       // was passiert wenn nicht erfüllt
    
    }


    Ansonsten:

    Ich habe mittlerweile eine Funktion geschrieben die das Wort in einzelne Buchstaben aufteilt und jeden Buchstaben dann kontrolliert.
    (Also alle zeichen einzeln nachgucken)
    Aber:
    Aber das kann finde ich nicht die Lösung sein.
    Ich werde das neue von dir mal probieren,
    sobald du mir die Bestätigung gegeben hast das du das so meinst
    (habe schon häufiger ein richtiges Script "kaputtet" und überspeichert :( )

    mfg matthimeo

    Beitrag zuletzt geändert: 13.1.2010 16:48:17 von matthimeo
  8. So, sollte es gehen. Vorherige Variante würde mir erlauben alles was ich will rein zu schreiben, ab dem zweiten Buchstaben.
    if(!preg_match( '/^[a-zA-Z0-9]+$/' , $vergleich))
    {
    
       // was passiert wenn nicht erfüllt
    
    }


    Übrigens, du kannst mit PHP direkt auf die Buchstaben in einem String zugreifen per $str[0] (erster Buchstabe). Dann musst du nichtmal ein string_split machen :)
  9. Autor dieses Themas

    matthimeo

    Kostenloser Webspace von matthimeo

    matthimeo hat kostenlosen Webspace.

    ok danke.
    aber was heißt das $ bzw. was bringt das?
    if(!preg_match( '/^[a-zA-Z0-9]+$/' , $vergleich))
    {
    
       // was passiert wenn nicht erfüllt
    
    }

    aber nochmal danke

    mfg matthimeo


    Beitrag zuletzt geändert: 13.1.2010 22:02:10 von matthimeo
  10. $ ist das String-Ende.
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!