Stefan: Prüfung einer eingegebenen URL

Hallo,

Hatte jemand von Euch bereits das Vergnügen, eine in einem Formular eingegebene URL auf deren äusserliche Richtigkeit prüfen zu müssen ?

Ich habe schon zig Seiten im Internet gesucht, aber nichts passendes gefunden. Für PHP gibt es jede Menge Code-Schnippsel, für Javascript sieht es, aus welchen Gründen auch immer, sehr, sehr mager aus.

Ich könnte sicherlich die Definitionen RFC1738, RFC1034, RFC1123, RFC1808, RFC2396 durchforsten, aber das Rad wiedermal neu zuerfinden macht wenig Sinn.

Weiss jemand, wo ich ein zuverlässiges Skript herbekomme ?

Die Überprüfung, ob die eingegebene URL auch existiert, kann ich über PHP zumindest soweit überprüfen, ob die Seite erreichbar ist oder nicht.

Wenn sie nicht erreichbar ist, ist zwar nicht unbedingt eine Garantie dafür, dass es die Seite nicht gibt, dann kann ich aber einen entsprechenden Hinweis ausgeben.

PHP ist kein Problem, nur finde ich - und da schliesst sich der Kreis - in Javascript keine Prüfung auf die äusserliche Korrektheit einer eingegebenen URL.

Ich hoffe, Ihr könnt mir weiterhelfen.

Gruss, Stefan

  1. Habe vorhin noch vergessen, dass mir die Seite www.regxlib.com aus 2 Gründen nicht weiterhelfen konnte:

    1. Zum einenscheinen die Pattern zum Teil fehlerhaft zu sein (entsprechende, farbliche Kennzeichnung im Proton-Editor)

    2. Zum anderen muss eine eingegebene URL Stück für Stück zerlegt werden, da ich gezielt auf die einzelnen Fehler eingehen möchte

    Gruss, Stefan

  2. Moin!

    PHP ist kein Problem, nur finde ich - und da schliesst sich der Kreis - in Javascript keine Prüfung auf die äusserliche Korrektheit einer eingegebenen URL.

    Du solltest es bei Javascript nicht übertreiben. Stelle fest, ob die typischen Gegebenheiten einer URL eingehalten werden, lasse dabei aber potentiell zuviel zu.

    Also prüfen, ob ein Protokoll (http:// etc.) angegeben wurde, ob der Servername im weitesten Sinne in Ordnung ist (die Problematik der Umlautdomains kann hier voll zuschlagen, wenn du das denn erlauben willst - alternativ fordere einfach den "umgerechneten" Domainstring, was die Prüfung des Domainnamens reduziert auf "enthält nur a-z, 0-9, Minus und Punkt") - der Rest der URL könnte prinzipiell sowieso aus allen möglichen und unmöglichen Zeichen bestehen.

    Da du mit Javascript ja nicht mal eine DNS-Anfrage starten kannst, halte ich eine allzu ausgefeilte Prüfung angesichts der Tatsache, dass Javascript auch abgeschaltet sein kann, für irrsinnig.

    - Sven Rautenberg