Internetadresse auf gültigkeit überprüfen

Hallo Leute,

Ich möchte per php eine Internetadresse überprüfen ( ob sie richtig geschrieben ist ):
Ich hab da auch schon was selbst gemacht:
/^http://[a-zA-Z0-9-_.]+.[a-zA-Z]{2,4}$/
aber es geht nicht :neutral_face:

Was ist daran falsch?

An deiner Problembeschreibung ist “geht nicht” falsch;
und an deinem regulaeren Ausdruck mindestens mal, dass du den Delimiter auch mitten im Ausdruck unmaskiert stehen hast; sowie natuerlich die Einschraenkung der TLD auf zwei bis vier Zeichen.

kann es dann mal einer berichtigen?
So gut bin ich darin leider nicht

Bitte helft mir doch mal^^ :smiley:

preg_match('#
\\b
(
   #Protokoll mit und ohne hostname erkenen
   (ftp|https?)://[-\w]+(\.\w[-\w]*)+
|
   #Hostname ohne Protokoll
   (?i: [a-z0-9] (?:[-a-z0-9]*[a-z0-9])? \. )+ #subdomains
   #Topleveldomains
   (?-i:  com\\b | edu\\b
         | biz\\b  | gov\\b
         | in(?:t|fo)\\b
         | mil\\b  | net\\b
         | org\\b | [a-z]{2}\\b
   )
   #Portnummer Optional
   ( : \d+ )?
   #Rest der Adresse
   [^!.,?;"'<>(){}\s\x7f-\xff]*
   (?: 
      [!.,?]+ [[^!.,?;"'<>(){}\s\x7f-\xff]+
   )*
)?
#x', $str)

geht nicht - weiss nicht warum :neutral_face:

Es soll nur diese ( der.de ) Form überprüft werden

Es soll eigentlich nur überprüfen, ob ein http:// oder ein .de usw vorhanden ist

Hast Du es inzwischen zum Laufen gebracht? Wenn nicht, teste bitte einmal folgenden RegEx:
/^https?://[a-zA-Z0-9-.]+.[a-zA-Z]{2,4}$/ falls https erlaubt sein soll
bzw.
/^http://[a-zA-Z0-9-
.]+.[a-zA-Z]{2,4}$/ falls https nicht erlaubt sein soll.

“/” muss escaped werden, also /.

Beachte aber bitte, dass der Ausdruck {2,4} zwei gültige TopLevelDomains ausschließt (.museum, .travel).

ok, und was ist mit unterordnern?

sollte für die Domain reichen, ansonsten das:

[code]!^http(s)?://([a-z0-9]+\.)+([a-z]{2,4})([a-z0-9/]*)(\.[a-z]{2,5})?(\?.*)?$![/code]

Sollte so in etwa passen :wink:

sollte für die Domain reichen, ansonsten das:

Sollte so in etwa passen :wink: