Autor | Zpráva | ||
---|---|---|---|
Bond Profil * |
#1 · Zasláno: 6. 10. 2013, 12:26:29
Mám regulérní výraz pro kontrolu URL:
preg_match("/^(https?:\/\/+[\w\-]+\.[\w\-]+)/i",$url)
Potřebuji ale regulérní výraz, který mě vypíše pouze doménu 1.řádu. Například: bon.osobnost.cz -> osobnost.cz |
||
DJ Miky Profil |
#2 · Zasláno: 6. 10. 2013, 17:13:48
Doména prvního řádu je jen např.
cz , druhého řádu je teprve osobnost.cz .
Každopádně to není tak jednoduché jako vytáhnutí posledních dvou částí domény, protože některé národní TLD neumožňují přímou registraci domén druhého řádu – viz např. seznam na Wikipedii, sloupec SLD. Typickým příkladem je .uk, kde lze registrovat pouze domény třetího řádku jako example.co.uk, example.me.uk, example.org.uk apod. Abys měl rozumné výsledky, musel bys tudíž u takových TLD vracet doménu třetího řádu místo druhé. A aby to bylo ještě složitější, některé TLD mají (nebo měly) oba způsoby – domény jak druhého, tak třetího řádu. Osobně bych to asi řešil seznamem TLD, které umožňují registraci pouze na třetím řádu, a u nich vracet poslední tři komponenty domény, u ostatních TLD poslední dvě. |
||
Časová prodleva: 11 let
|
0