Strings mit Sonderzeichen filtern...

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

  • Strings mit Sonderzeichen filtern...

    Hallo zusammen,

    nachdem ich stundenlang vergeblich nach einer Methode gesucht habe um Formulareingaben mit Sonderzeichen zu filtern,
    habe ich mich entschieden selbst ein Script zu basteln und es mit euch zu teilen:

    PHP-Code:
    <?php

        
    function str_checker($string$range){    
            
    $clean trim($string);
            
    $stellen strlen($clean);
            
            for(
    $i=0;$i<$stellen;$i++){
                
    $momchar substr($string$i1);
                if(!
    ereg ($range$momchar)){
                    die(
    "Sie dürfen nur Ziffern und Zeichen aus den Bereichen A-Z verwenden");
                }
            }        
        }   
        
        
    str_checker("TeXT""[a-zA-Z1-9]");
        
    ?>
    beim Funktionsaufruf werden 2 Parameter übergeben.
    Der erste Parameter definiert den zu überprüfenden String, der zweite Parameter legt den Bereich fest, der zulässig ist.

    Hoffe es bringt jemandem etwas, mir hats geholfen.

    Bitte lasst Anregungen oder Verbesserungsvorschläge dazu einfach raus...

    Greetz saio
    Zuletzt geändert von saio; 21.03.2007, 17:42.

  • #2
    Re: Strings mit Sonderzeichen filtern...

    Du solltest deine Suchstrategie verbessern - das Thema ist ja wohl alles andere als ein neues.

    Ausserdem sind die preg- den ereg-Funktionen vorzuziehen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      1. du meinst "ziffern" und keine ganzen zahlen.

      2. ist ganz schön umständlich gelöst... wozu braucht man das denn?

      Kommentar


      • #4
        @wahsaga:
        ja suchen lässt mich fluchen deshalb lieber selber m(u)achen

        aber wieso sollte ich diese Funktion nicht verwenden???

        @penizillin:

        hehe jetzt sinds Ziffern

        Damit will ich überprüfen ob ein Benutzername und/oder Passwort, welche über ein Formular übergeben wurden, keine anderen Zeichen außer die im definierten Bereich beinhalten...

        Kommentar


        • #5
          auch ganze ziffern ist nonsense - oder kennst du etwa halbe ziffern?

          warum sollte man so eine einschränkung wollen? mein nickname ist z.b. "andré" und mein pw (der sicherheit zuliebe) "P1_#ôôô". dürft ich mich bei dir nie anmelden?

          Kommentar


          • #6
            PHP-Code:
            function checkData($data) {
              if(
            preg_match('/^[a-z0-9]+$/i',$data) == 0){
                return 
            false;
              }
              return 
            true;

            Kürzer...

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Noch kürzer :P

              Code:
              function checkData($data) {
                return preg_match('/^[\w\d]+$/',$data);
              }

              Kommentar


              • #8
                @penizillin:
                na gut nur Ziffern

                wegen den Zeichen: naja soll halt net zu exotisch werden

                @all:
                warum leicht wenns auch kompliziert geht
                Zuletzt geändert von saio; 21.03.2007, 17:45.

                Kommentar


                • #9
                  Original geschrieben von prego
                  Noch kürzer :P

                  Code:
                  function checkData($data) {
                    return preg_match('/^[\w\d]+$/',$data);
                  }
                  Noch kürzer:

                  einfach preg_match('/^[\w\d]+$/',$data) an der entsprechenden
                  stelle einfügen.

                  greets
                  (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

                  Kommentar


                  • #10
                    ok sehr praktisch muss ich sagen...

                    Kommentar


                    • #11
                      Achso, deutsche Sonderzeichen (äöüß) hast du mit \w nicht - das sind nur Wortzeichen.

                      /^[:alpha:\d]+$/

                      ist dann vielleicht eher was für dich - dazu muss aber mit set_locale() die Sprache richtig konfiguriert sein.

                      Kommentar

                      Lädt...
                      X