Ich suche nach einer Regex, die nur mit gültigen, nur online URLs übereinstimmt.PHP Regex, die nur mit regulären, gültigen URLs übereinstimmt
Zum Beispiel:
exmaple.com
http://exmaple.com
https://exmaple.com
www.exmaple.com
http://www.example.com
https://www.example.com
und speziellen Bereich und Erweiterungen wie:
t.co
example.deals
sh.party
Und so weiter, aber alle die komplizierten Sachen wie ftp
nicht übereinstimmen, get
Abfragen oder URLs wie 2.3.3.1
.
Ich habe '#(www\.|https?://)?[a-z0-9]+\.[a-z0-9]{2,4}\S*#i'
benutzen, aber es erkennt Daten, zum Beispiel 3.3.2017
.
Ich brauche dies weil ich get_headers
zu jedem gefundenen URL anwenden, und wenn ich get_headers
für ungültige URLs wie ein Datum zu tun, die ich erhalten:
get_headers(http://03.03.2017): failed to open stream: Connection timed out
TL; DR: Ich suche für eine Regex, die nur URLs entspricht, die Sie anwenden können get_headers()
auf.
Vielen Dank für Ihre Hilfe!
Gibt es Top-Level-Domains mit Nummern? Und "Geschäfte" hat fünf chrs. – JosefScript
@JosefScript sieht aus als ob es kein Problem mit Domains wie '12345.com' gibt, obwohl ich mir ziemlich sicher bin, dass es nicht nur eine numerische Erweiterung gibt. –
Eine Regex kann keine Online-URL angeben, sie kann nur einem Muster entsprechen. Das Muster einer Domain anzupassen, wird auch schwierig sein, ist 'chris.inc' ein Firmenname oder eine Domain? – chris85