¿Alguien tiene alguna idea genial además de almacenando una lista de todos los TLD?
No, porque cada TLD difiere de lo que se considera un subdominio, dominio de segundo nivel, etc.
Tenga en cuenta que hay dominios de nivel superior, dominios de segundo nivel, y subdominios. Técnicamente hablando, todo excepto el TLD es un subdominio.
En el ejemplo de domain.com.uk, el dominio es un subdominio, com es un dominio de segundo nivel y uk es el tld.
Por lo tanto, la pregunta sigue siendo más compleja que a primera vista, y depende de cómo se gestione cada TLD. Necesitará una base de datos de todos los TLD que incluyan su partición particular, y lo que cuenta como un dominio de segundo nivel y un subdominio. Sin embargo, no hay demasiados TLD, por lo que la lista es razonablemente manejable, pero recopilar toda esa información no es trivial. Es posible que ya haya una lista disponible.
Parece que http://publicsuffix.org/ es una de esas listas, todos los sufijos comunes (.com, .co.uk, etc.) en una lista adecuada para la búsqueda. Todavía no será fácil analizarlo, pero al menos no tienes que mantener la lista.
A "sufijo público" es una virtud de la cual usuarios de Internet pueden registrarse directamente nombres. Algunos ejemplos de sufijos públicos son ".com", ".co.uk" y "pvt.k12.wy.us". La lista Sufijo público es una lista de todos los sufijos públicos conocidos .
La lista de sufijos públicos es una iniciativa de la Fundación Mozilla. Está disponible para su uso en cualquier software , pero fue creado originalmente para satisfacer las necesidades de los fabricantes de navegadores .Permite a los navegadores a, por ejemplo:
- Evitar la privacidad dañar "SuperCookies" que se establezca para el nombre de dominio alto nivel sufijos
- Resalte la parte más importante de un nombre de dominio en el usuario interfaz
- ordenar las entradas del historial con precisión por el sitio
Looking through the list, se puede ver que no es un problema trivial. Creo que una lista es la única forma correcta de lograr esto ...
-Adam
Cam aclaras lo que quieres? Parece que buscas la parte del dominio "oficial" de la URL (es decir, domain.co.uk), independientemente de cuántas etiquetas DNS aparezcan antes de ella. – Alnitak
Estoy de acuerdo. Expande más sobre cuál es tu objetivo final. – BuddyJoe
Esta pregunta ya se ha formulado aquí: [Obtención de partes de una URL] (http://stackoverflow.com/questions/27745/getting-parts-of-a-url-regex) Editar: se ha formulado una pregunta similar aquí:) –