Ankündigung

Einklappen
Keine Ankündigung bisher.

Hilfe bei ereg

Einklappen

Neue Werbung 2019

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

  • Hilfe bei ereg

    Hallo ...

    ist zwar schon etwas später, aber ich Raff's wahrscheinlich auch nicht etwas früher
    Ich habe folgende Anweisung:
    PHP-Code:
    if (!ereg('^[A-Z]+[a-zA-Z]+$'ucfirst($name))) 
    Diese lässt ja nur Zeichenfolgen von a-z (groß und klein) zu. Ich benötige aber neben diesem Ausdruck auch eine weitere und zwar in Form von

    a-zA-Z[Leerzeichen][runde Klammer auf]a-zA-Z[runde Klammer zu]

    Insofern sollen z.B. folgende Eingaben als korrekt durchgehen:
    Torpfosten <-- das klappt ja jetzt schon
    Torpfosten (links) <-- das soll jetzt auch noch gültig sein
    und zwar eben nur das eine oder das andere

    Kann mir dabei bitte jemand unter die Arme greifen!

    Danke & Gruß,
    72


  • #2
    Code:
    "/^[a-z]+( \([a-z]+\)){0,1}$/i"
    {0,1} kannst du glaub ich durch ? ersetzen, bin aber nicht sicher.

    Kommentar


    • #3
      {0,1} kannst du glaub ich durch ? ersetzen, bin aber nicht sicher.
      Ist richtig ...

      Kommentar


      • #4
        Re: Hilfe bei ereg

        Zitat von 72dpi
        Insofern sollen z.B. folgende Eingaben als korrekt durchgehen:
        Torpfosten <-- das klappt ja jetzt schon
        Torpfosten (links) <-- das soll jetzt auch noch gültig sein
        und zwar eben nur das eine oder das andere
        Das scheint ja nun ein Widerspruch zu sein. Welches soll nun gültig sein? Das erste, das zweite oder beide Beispiele. Zergling's Beispiel bringt beide, allerdings nicht mit ereg(), sondern nur mit preg_match(). Wenn du ereg() verwenden willst (oder eregi(), falls Gross- und Kleinschreibung ignoriert werden soll) musst de den Ausdruck z.B. so ändern:
        Code:
        ^[[:alpha:]]+( \([[:alpha:]]*\))?$
        Wenn der erste Buchstabe gross sein soll, wie in deinem Beispiel (was durch das ucfirst allerdings immer der Fall ist), dann
        Code:
        ^[[:upper:]][[:alpha:]]+( \([[:alpha:]]*\))?$
        Und wenn die Klammer nicht leer sein darf, ersetze den Stern durch ein +. Selbstverständlich kannst du die Klassen auch durch Aufzählungen ersetzen.
        Gruss
        L

        Kommentar


        • #5
          Mal ganz allgemein: Was wird aus "Torpfosten (unten)"? Wäre nicht ein SELECT-Feld in der nur richtige Auswahlmöglichkeiten stehen die bessere Lösung?

          Kommentar

          Lädt...
          X