preg_match und Suchmuster

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

  • preg_match und Suchmuster

    Hallo anwesende PHPler,

    ich habe ein Problem mit einem Suchmuster für eine Fehlerabfrage.
    Ich möchte gern die Feldeingabe für den Nachnamen prüfen. Meine Abfrage lautet:
    [COLOR="red"]
    if (!preg_match("/^[a-zA-ZäÄüÜöÖß-]/s", $_POST["nachname"])){
    $message2a="<span class='message'>Bitte nur Buchstaben</span><br>";
    }
    [/COLOR]Klappt dann, wenn ein Leerzeichen, ein Sonderzeichen wie z.B. > oder Zahlen am Anfang des Textstrings stehen. Stehen aber zuerst Buchstaben in dem Feld, werden oben genannte Zeichen nicht erkannt. Ich weiß, dass liegt an dem Suchmuster, ich hatte auch schon ein anderes Suchmuster, das lief aber nur mit ereg und das soll man ja nicht mehr nehmen. Habe es auch schon mit strpos versucht, aber das hat gar nicht funktioniert.
    Hat von Euch jemand eine Idee, wie man die Abfrage verbessern könnte?

    Grüße Jona
    Zuletzt geändert von Jona; 08.04.2010, 11:49.

  • #2
    Bitte lies dir unsere Regeln durch und passe deinen Post entsprechend an. Code-Tags machen Code leserlicher.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Zitat von unset Beitrag anzeigen
      Bitte lies dir unsere Regeln durch und passe deinen Post entsprechend an. Code-Tags machen Code leserlicher.
      Danke, habe mir nochmal den Hilfetext zum Schreiben von Beiträgen durchgelesen, bin aber nicht viel schlauer als vorher. Da stand nicht wie Quelltext einzugeben ist. In einem anderen Beitrag habe ich gesehen, dass der Quelltext farbig ist. Aber wo stellt man das ein? Hier im Eingabekästchen habe ich nur schwarz und welche Farben soll man wofür verwenden?

      Jona

      Kommentar


      • #4
        In den Regeln findet sich folgende Passage:

        Nutze die Code-Tags

        Für PHP, HTML und vorformatierten Text haben wir jeweils entsprechende BBCode-Tags. Nutze diese. Das erhöht nicht nur die Lesbarkeit, sondern weist dich durch die farblichen Hervorhebungen evtl. sogar schon auf den Fehler hin. Übrigens, ein guter Rat ist auch noch …
        Code-Tags findest du in deinem Editor:
        für unspezifischen Code
        für XML o. HTML-Code
        für PHP-Code
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          In meinem Editor (ich benutze Homesite) ist der Quelltext mehrfarbig. Wenn ich ihn hierher kopiere, dann ist er nicht mehr farbig. Muss ich dann hier ins Eingabefeld den BB-Code einfügen? Habe noch nicht verstanden wie. Muss man dann die Tags aus Eurer BB-Code-Liste einzeln einfügen, so als ob man HTML-Formatiert?

          Jona

          Kommentar


          • #6
            Ja, du klickst auf in deinem Beitrag, markierst den Text, der gehighlightet (also "farbig gemacht" werden soll), und klickst auf den entsprechenden Button. Wie die aussehen, habe ich dir ja eben schon beschrieben!
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Ich habe jetzt ändern aufgerufen. Hatte aber als Button nur Textformatierung entfernen, B, I, U, A (schwarz), Link, Grafik und Zitat zur Auswahl. Habe damit den Quelltext in Rot geändert. Aber das war wohl nicht gemeint. Aber ich sehe gerade hier in dem Antworten-Editor sind die Button von denen Du geschrieben hast. Also versuche ich hier den Quelltext nochmal zu übernehmen:

              PHP-Code:
              if (!preg_match("/^[a-zA-ZäÄüÜöÖß-]/s"$_POST["nachname"])){ 
                      
              $message2a="<span class='message'>Bitte nur Buchstaben</span><br>";} 
              Dann müßte der Quelltext wohl so aussehen. Bitte, hat jemand eine Idee zu dem Suchmuster?

              Jona

              Kommentar


              • #8
                Hallo,

                BTW: wenn du den Ändern-Button benutzt, musst du unten rechts noch auf [Erweitert] klicken, damit du alle Buttons hast.

                In deinem Suchmuster fehlt das Dollarzeichen für die Assertion end of subject. Das muss noch vor den Slash (/). Den s-Modifikator kannst du dir übrigens schenken. Damit auch mehrere Buchstaben erlaubt werden, muss hinter die schließende eckige Klammer noch der Quantifizierer one or more (+).

                Gruß,

                Amica
                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Kommentar


                • #9

                  Super, das war es! Nun geht es!!! Wie lange ich daran schon rumprobiert habe. Vielen Dank! Hatte in meiner Liste für Suchbegriffe nicht wirklich verstanden, dass Dollarzeichen und + auch hierfür passen würden. Vielen Dank auch für die Hilfe mit dem Editor.

                  Wünsche Euch noch einen schönen Tag
                  Jona

                  Kommentar

                  Lädt...
                  X