URL prüfen

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

  • URL prüfen

    Hallo,

    ich bekomme bei folgendem Regex eine Fehlermeldung..

    PHP-Code:
    if (!preg_match("^(?<link>((?<prot>http:\/\/)*(?<subdomain>(www|[^\-\n]*)*)(\.)*(?<domain>[^\-\n]+)\.
    (?<after>[a-zA-Z]{2,3}[^>\n]*)))$"
    ,$url)) { 
    Warning: preg_match() [function.preg-match]: Unknown modifier "\"
    Ich wollte die Eingabe einer URl auf ihre Gültigkeit prüfen, kann mir jmd sagen was daran falsch ist?

  • #2
    Re: URL prüfen

    Es fehlen die Delimiter...

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Unknown modifier "\" Steht doch da!

      Welches Zeichen benutzt du als delimiter?

      Kommentar


      • #4
        Autsch.. gefixed.

        Warning: preg_match() [function.preg-match]: Compilation failed: unrecognized character after (?< at offset 4

        Kommentar


        • #5
          In der Zeit hast du dich nie und nimmer selbst um die Lösung deines Problems bemüht. Lass mich raten, Copy und Paste?

          Kommentar


          • #6
            ??
            In der Zeit zwischen deiner und meiner Antwort? Ich hab geschaut und gesehen, dass ich den Delimiter vergessen habe und hab ihn fix an den Anfang sowie das Ende gepackt.
            Was bitte möchtest du sonst?

            Kommentar


            • #7
              Vielleicht, dass du dich um
              unrecognized character after
              kümmerst?

              Kommentar


              • #8
                Doch.. ich habe geschaut was der fehler bedeutet, bin fündig geworden, und stellte fest, dass ich eigt keine spitze Klammer vergessen habe, soweit ich das richtig gesehen hab.


                »Nicht-erlaubtes Zeichen hinter der Angabe (?P« tritt auf, wenn bei der Angabe eines assoziativen Indexes für einen Unterausdruck die öffnende spitze Klammer vergessen wurde. Da diese Angabe zwingend notwendig ist, meldet sich PHP mit einer Fehlermeldung.

                Kommentar


                • #9
                  Wie sieht dein aktueller Ausdruck aus?

                  !^(?<link>((?<prot>http:\/\/)*(?<subdomain>(www|[^\-\n]*)*)(\.)*(?<domain>[^\-\n]+)\.(?<after>[a-zA-Z]{2,3}[^>\n]*)))$!is

                  Funktioniert, obgleich er vermutlich nicht das gewünschte Ergebis liefert. Aber daran musst du dann noch arbeiten.

                  Alternativ versuchs halt mal mit P, wies in deiner Erklärung drin stand. Funktioniert auch.
                  Zuletzt geändert von TobiaZ; 02.07.2007, 17:57.

                  Kommentar

                  Lädt...
                  X