[REGEX] Problem mit Modifier (/i)

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

  • [REGEX] Problem mit Modifier (/i)

    Habe heute meinen regulären Ausdruck für die Überprüfung von Mailadressen optimiert. Leider akzeptiert der reguläre Ausdruck aus einem mir unbekannten Grund keinen Modifier

    Hier mal der Ausdruck:
    PHP-Code:
    $preg "^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4}|museum)$"
    Die folgenden Versionen werden leider nicht akzeptiert;
    PHP-Code:
    $preg "^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4}|museum)$/i";
    $preg "(^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4}|museum)$)/i"
    Ich hoffe jemand kann mir da mal auf die Sprünge helfen

    Danke,
    Stephan
    [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
    [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

  • #2
    delimiter auf beiden seiten?
    gabs keine fehlermeldung?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Sobald ich den Modifier /i weglasse gibt's in allen Fällen kein Problem.
      [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
      [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

      Kommentar


      • #4
        es gibt keinen modifier /i. Der heißt i

        Kommentar


        • #5
          - setz mal auf beide seiten des suchmusters einen delimiter! vorzugsweise den gleichen.
          - wurden im fehlerfalle meldungen ausgegeben?
          - - delimiter must not be backslash ... ?
          - - no ending delimiter found ... ?
          es gibt keinen modifier /i. Der heißt i
          da liegt der hund begraben ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            sieht mir nach nem typischen copy and paste error aus. irgendwo mal ein /i gesehen, und schon ist das ein modifier. ganz egal, wie die delimiter aussehen. aber auf die verzichtet er ja sonst auch lieber...

            Kommentar


            • #7
              Original geschrieben von derHund
              - setz mal auf beide seiten des suchmusters einen delimiter! vorzugsweise den gleichen.
              - wurden im fehlerfalle meldungen ausgegeben?
              - - delimiter must not be backslash ... ?
              - - no ending delimiter found ... ?
              So ich habe auf beiden Seiten einfach mal ein Slash als Delimiter gesetzt und erhalte folgende Meldung:

              Warning: Unknown modifier '^' in f:\inetpub\wwwroot\firstnews_prof\Upload\import\import.php on line 144

              @Tobiaz
              Es ist kein Copy&Paste-Error sondern der Fehler entstand, dass ich den regulären Ausdruck nach längerer Zeit jetzt abändern wollte. Außerdem arbeite ich leider viel zu selten mit RegEx
              [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
              [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

              Kommentar


              • #8
                ich auch. trotzdem habe ich es geschafft (bevor ich gepostet habe zur sicherheit) nochmal nachzusehen...

                poste deinen aktuellen code

                Kommentar


                • #9
                  PHP-Code:
                  $preg "/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4}|museum)/i"
                  Start- und Endzeichen (^und $) habe ich mal entfernt.
                  [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
                  [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

                  Kommentar


                  • #10
                    und wo ist da jetzt n fehler? ich erhalte keinen:

                    PHP-Code:
                    $preg "/[a-z0-9_-]+(.[a-z0-9_-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4}|museum)/i";
                    preg_match($preg,'hallo'); 

                    Kommentar


                    • #11
                      Das ist mir jetzt ein wenig peinlich *heul*

                      Der Fehler lag beim Aufruf der Funktion. Die Delimiter waren bereits gesetzt

                      PHP-Code:
                      preg_match("/$preg/"$value
                      [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
                      [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

                      Kommentar


                      • #12
                        ötsch!

                        Kommentar

                        Lädt...
                        X