kann mir jemand vielleicht mal erklären wieso bei dem regülären ausdruck
man keine webseite mit mehr als 23 Zeichen speichern kann?
'/^(http:\/\/)?([a-zA-Z][a-zA-Z0-9\-\_]{1,15}\.)+[a-zA-Z]{2,5}$/'ich begrenze doch mit 1,15 den mittleren teil auf bis zu 15 stellen sowie den letzten Part auf 2 bis 5 stellen?
hmm kann dir jetzt nicht ganz folgen wo steckt denn jetzt der fehler?
Ist doch eigentlich so korrekt wie ich das aufgebaut habe hmm??
http muss nicht geschrieben werden kann aber…
danach www.beispiel.de mit dem 2 teil wäre der „www“ part und „beispiel“ part abgedeckt,
am ende dann noch die domainendung…
Ich debugge nur mit dir lol
Leider wurde meine Beispiel URL nun vom Forum geparsed.
Welche URL funktioniert denn nicht?
Hab den Ausdruck mal getestet und er funktioniert wunderbar bei mir.
Schöne Seite zum testen von regex ist übrigens: regex online tester - regular expressions
Hab deinen regulären Ausdruck da getestet (/ Delimiter dort entfernen)
preg_match links auswählen.
Habe als teststring mal:
[noparse] http://maps.googlelololo.lollol.de
und http://maps.googlelolololollol.de
probiert
[/noparse]
Ersteres funktioniert. beim 2. meckert er.
Edit: Steckt der fehler vielleicht im PHP Code vor oder nach dem regex?
Soltle auf jeden Fall kein regex Problem sein. Speicherst du die Daten in einer Mysql-Datenbank? Falls ja, teste mal unter welchen Datentyp du die URL speicherst? Falls varchar: ist dieser auf 23 zeichen begrenzt? Nehme für die url dann besser den Datentyp Text, da du nie weisst wie lang die URL ist.
Edit:
Da googlelolololollol 18 zeichen hat und somit mehr als 15
verstehe jetzt 2 sachen nicht:
einmal wie kommt er überhaupt auf die Begrenzung von 23 , weißt du das?
und das mit der url das er die speichert bei 16 zeichen hmmm
Da du vorher sagst 1 Zeichen und dann nochmal 1-15 zeichen. macht im maximum 16 zeichen. Wenn der komplette Teil 15 Zeichen haben soll musst du 1,14 schreiben
Denn schau:
Edit: hast du den regex denn selbst egschrieben?
Denn du sagst ja mit dem mittleren part nur. Dass 16 zeichen kommen dürfen und dann muss ein Punkt kommen.
Also kann eine URL unentdlich lang sein. hauptsache nach 16 zeichen kommt ein Punkt. Teste mal folgende URL
[noparse] http://meine.tolle.url.aus.mehr.als.drei.und.zwanzig.zeichen.de
[/noparse]
jetzt versteh ich das
Du rechnest das http die ganze zeit mit dazu
[noparse]
http:// ← 7 zeichen
irgendeineseitee ← 16 zeichen
macht 23
Die URL kann auch so länger sein. Du meinst wahrscheinlich die länge des Domainnamen. Dafür musst du dein 1-15 abändern, wie du gesgat hast
[/noparse]