Anita: RegExp ... eigentlich einfach

Ich möchte eine Formularübergabe überprüfen und nur ein Wort ohne Sonder- und/oder Leerzeichen zulassen.

Mit meiner naiven Herangehensweise an RegExp habe ich mir überlegt, dass der Code heißen müsste:

if(!(preg_match('@[a-z0-9]@',$value))) ...

Aber wie immer, wenn ich es denn wage, stimmt mein Suchpattern nicht und ich merke schon wieder, wie die Verzweiflung wächst. Könnt ihr mir bitte, bitte den richtigen Pattern sagen bevor ich in den Bildschirm beiße!

Danke, Anita

  1. Vielleicht ganz nützlich ...

    das folgende Pattern sollte eigentlich zutreffen:
    http://regexp-evaluator.de/evaluator/5c0723ebb4f20eeadadec38429c38c5f/#ergebnis

  2. Mit meiner naiven Herangehensweise an RegExp habe ich mir überlegt, dass der Code heißen müsste:

    if(!(preg_match('@[a-z0-9]@',$value))) ...

    Du hast formuliert.

    if     = wenn
      !      Misserfolg
             der Suche nach
    [a-z0-9] einem Zeichen dieser Klasse
    $value   in diesem String.

    Was du aber möchtest.

    Wenn
              Erfolg
              der Suche nach
    [^a-z0-9] ein Zeichen, das nicht der Zeichenklasse [a-z0-9] angehört.

    Klar nun, wie du suchen musst?

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>     ><o(((°>
       <°)))o><                      ><o(((°>o
  3. @@Anita:

    if(!(preg_match('@[a-z0-9]@',$value))) ...
    […]  bevor ich in den Bildschirm beiße!

    Nicht beißen! Lesen! SELFHTML: <http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichenketten@title=Reguläre Ausdrücke für Zeichenketten>

    '^' und '$' sowie '*' oder '+' dürften für dich interessant sein. Und Großbuchstaben.

    Live long and prosper,
    Gunnar

    --
    Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.
  4. Danke ... [^ statt ^[ war also der Trick ...

    Ihr habt mich und meinen Bildschirm gerettet! :)

    Schönen Nachmittag noch
    Anita

    1. Ihr habt mich und meinen Bildschirm gerettet! :)

      schlechte zähne? ;)

  5. echo $begrüßung;

    Ich möchte eine Formularübergabe überprüfen und nur ein Wort ohne Sonder- und/oder Leerzeichen zulassen.
    Mit meiner naiven Herangehensweise an RegExp habe ich mir überlegt, dass der Code heißen müsste:

    Wenn dein Provider/Administrator so nett war, die ctype-Extension mit einzubinden (siehe phpinfo()-Ausgabe), kannst du dir die RegExp-Maschinerie für diesen einfachen Fall sparen und mit ctype_alnum() prüfen.

    echo "$verabschiedung $name";